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.
| 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:
| AfxAbort | Önemli bir hata olduğunda bir uygulamayı sonlandırmak için denilen oluşur. |
Ayrıca bkz: CException