Özel durum işleme

Bir program çalıştırır, anormal koşulları ve "istisnalar" denilen hatalar oluşabilir. Bu bellek, kaynak ayırma hataları ve başarısızlık dosyaları bulmak için çalışıyor olabilir.

Microsoft Foundation Class Library yakından bir c++ için ANSI Standartları Komitesi tarafından önerilen sonra modellenmiştir bir özel durum işleme şeması kullanır. Önce bir işlev çağırma-ebilmek karşılaşmak bir anormal durum özel durum işleyici ayarlanması gerekir. İşlev bir anormal durum karşılaşırsa, bir istisna atar ve denetim istisna işleyicisine geçirilir.

Bazı makrolar, Microsoft Foundation Class Library ile dahil özel durum işleyicileri kadar ayarlar. Diğer genel işlevleri, gerekirse özel istisnalar atmak ve programları sonlandırmak için Yardım. Bu makrolar ve küresel işlevler aşağıdaki kategorilere ayrılır:

Örnekler ve ayrıntılı bilgi için bkz: yazı özel durumlar Visual c++ programlama Kılavuzu.

Özel durum makrolar

DENEYİN Özel durum işleme için kod bloğunu belirler.
YAKALAMAK Gelen yukarıdaki deneyin blok bir özel durum yakalama için kod bloğunu belirler.
CATCH_ALL Yukarıdaki deneyin blok tüm özel durumlar yakalamak için kod bloğunu belirler.
AND_CATCH Yukarıdaki deneyin blok türlerinden ek özel durum yakalama kod bloğunu belirler.
AND_CATCH_ALL Yukarıdaki deneyin bloğunda atılan diğer tüm ek özel durum türleri yakalamak için kod bloğunu belirler.
END_CATCH Son yakalamak ya da and_catch kod bloğu biter.
END_CATCH_ALL Son catch_all kod bloğu biter.
ATMAK Belirtilen özel durum aldığı kutusu görüntüler.
THROW_LAST Sonraki dış işleyiciye halen işlenmiş throws Exception.

Özel durum üretiliyor işlevleri

AfxThrowArchiveException Bir arşiv throws Exception.
AfxThrowFileException Bir dosya throws Exception.
AfxThrowMemoryException Bir bellek throws Exception.
AfxThrowNotSupportedException Not desteklenen bir istisna atar.
AfxThrowResourceException Windows kaynak değil bulundu bir istisna atar.
AfxThrowUserException Bir programı, kullanıcının başlattığı eylem bir istisna atar.

Mfc, özellikle ole Özel durumlar için iki özel durum üretiliyor fonksiyonları sağlar.:

Ole özel fonksiyonlar

AfxThrowOleDispatchException Ole Otomasyon işlev içinde bir istisna atar.
AfxThrowOleException Ole Özel durum aldığı kutusu görüntüler.

Veritabanı özel durumlarını desteklemek için iki özel durum sınıfı, CDBException ve CDaoExceptionve küresel işlevler durum türlerini desteklemek için veritabanı sınıflarını sağlamak:

Dao özel fonksiyonlar

AfxThrowDAOException Bir CDaoException kendi kodunu atar.
AfxThrowDBException Bir CDBException kendi kodunu atar.

Mfc aşağıdaki sonlandırma işlevi sağlar:

Fesih işlevleri

AfxAbort Önemli bir hata olduğunda bir uygulamayı sonlandırmak için denilen oluşur.

Ayrıca bkz: CException

Index