SİBERSALDİRİ.COM · KONU ODAKLI DERS
Bu derste kazanacaklarınız
- Başarısızlık ile İstisna arasındaki ilişkiyi açıklamak.
- “RAII istisna yolunda neden değerlidir?” sorusuna gerekçeli yanıt vermek.
- Örneği değiştirip beklenen ve gözlenen davranışı karşılaştırmak.
Çalışma mantığı ve güven sınırı
Standart istisnaları çoğunlukla const referansla yakalayın. RAII türleri, yığın çözülürken kaynakların bırakılmasını sağlar. Hata kaydı hassas girdiyi açığa çıkarmamalıdır. Bir istisnayı yakaladıktan sonra nesnenin geçerli durumda olup olmadığını bilmeden normal işleme devam etmeyin.
Açıklamalı örnek
Aşağıdaki parça kavramı görünür kılar. Komut veya kod içeren örnekleri üretim sisteminde değil, size ait ayrı deneme ortamında değerlendirin. Mimari şema ve politika örnekleri çalıştırılabilir program değildir.
#include <array>
#include <iostream>
#include <stdexcept>
int main(){
std::array<int,1> values{8};
try { std::cout<<values.at(2); }
catch(const std::out_of_range&){ std::cout<<"Geçersiz konum"; }
}Beklenen sonuç ve yorumu
Sınır dışı erişim kontrollü mesajla ele alınır.
Karşılaştırmalı durumlar
| Durum | Beklenen yaklaşım | Neden? |
|---|---|---|
| Geçerli at indeksi | Normal yol | İstisna yoktur |
| Sınır dışı indeks | Hata yolu | Sözleşme ihlali bildirilir |
| Hata yutulmuş | Başarı sayma | Asıl işlem tamamlanmamıştır |
Uygulama görevi
Başarılı indeks ve hatalı indeks için iki yolun kaynağı nasıl bıraktığını inceleyin.
- İşlemden önce beklenen sonucu ve kabul koşulunu yazın.
- Tek bir değişkeni değiştirin; gözlemi ve kullandığınız ortamı kaydedin.
- Sonucu yukarıdaki karşılaştırma tablosuyla değerlendirin. Uymayan durumda hangi varsayımın yanlış olabileceğini açıklayın.
Sık yapılan hata ve düzeltme yönü
catch(...) içinde hatayı yok sayıp başarı döndürmeyin.
Kendinizi sınayın
RAII istisna yolunda neden değerlidir?
Açıklamalı yanıt: Kapsam çözülürken yıkıcılar kaynakların bırakılmasını sağlayarak manuel temizlik kaçaklarını azaltır.
İlgili derslerle ilerleyin
- C++ dosyaları: Açma sonucunu ve ömrü yönetme
- C++ zaman: Duvar saati ve süre ölçümü
- C++ polimorfizm: Arayüz üzerinden davranış
- C++ kalıtım: Alt tür sözleşmesini koruma
Teknik başvuru
Bu dersin anlatımı ve örnekleri akademi için yeniden hazırlanmıştır. Aşağıdaki bağlantı, kullanılan teknoloji veya güvenlik yaklaşımının ayrıntılarını doğrulamak için teknik başvurudur.
