İçeriğe geç
Başlangıç · Sonraki hedefe 100 XP
Son hareketler
Henüz bir öğrenme hareketi yok. İlk derse başlayın.

Programlama Temelleri

C++ istisnaları: Hata yolu ve kaynak güvenliği

İstisna normal dönüş yoluyla karşılanamayan bir başarısızlığı üst katmana taşıyabilir. Amaç her hatayı yakalayıp sessizce devam etmek değil, uygun yerde anlaşılır bir karara dönüştürmektir.

Bu derste neler var?

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.

C++ istisnaları: Hata yolu ve kaynak güvenliği akışı: Başarısızlık → İstisna → Uygun hata kararı
Başarısızlık → İstisna → Uygun hata kararı. Şema ilişkiyi gösterir; bütün uygulamanın yerine geçmez.

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

DurumBeklenen yaklaşımNeden?
Geçerli at indeksiNormal yolİstisna yoktur
Sınır dışı indeksHata yoluSözleşme ihlali bildirilir
Hata yutulmuşBaşarı saymaAsı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.

  1. İşlemden önce beklenen sonucu ve kabul koşulunu yazın.
  2. Tek bir değişkeni değiştirin; gözlemi ve kullandığınız ortamı kaydedin.
  3. 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

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.

Bir adım daha ilerlediniz.

Dersi bitirdiyseniz tamamlandı olarak işaretleyin. İlerlemeniz bu cihazda saklanır.

Akademi menüsü

Akademide ara

En az 2 karakter yazın.