CException Microsoft Foundation Class Library tüm özel durumlar için taban sınıftır. Türetilmiş sınıfları ve açıklamalarını aşağıda listelenmiştir:
CMemoryException | Bellek içi özel durum |
CNotSupportedException | Desteklenmeyen bir işlem isteği |
CArchiveException | Arşiv özel durum |
CFileException | Dosya özel durum |
CResourceException | Windows kaynak bulunamadı veya yok createable |
COleException | Ole Özel durum |
CDBException | Veritaba&nı exceptionnbsp; (başka bir deyişle, mfc için doğan özel koşullar açık veritabanı bağlantısı üzerinde temel sınıflar veritabanı) |
COleDispatchException | Ole gönderme (Otomasyon) istisna |
CUserException | Kaynak bulunamadığını belirten durum |
CDaoException | Veri erişim nesnesi exception (dao sınıfları için doğan, özel koşullar) |
CInternetException | Internet özel durum (Internet sınıfları için doğan, özel koşullar). |
Bu özel durumlar, ATMAK, throw_last, deneyin, yakalamak, and_catchve end_catch makrolar ile kullanılmak üzere tasarlanmıştır. Özel durumlar hakkında bilgi, Özel durum işlemebakın veya makaleye bakın özel durumlar Visual c++ programlama Kılavuzu.
Belirli bir özel durumu yakalamak için uygun türetilmiş bir sınıf kullanın. CExceptionözel durumları yakalamak tüm türleri için kullanın ve sonra CObject::IsKindOf CExceptionarasında ayırt etmek için kullanın-türetilmiş sınıfları. CObject::IsKindOf IMPLEMENT_DYNAMIC makro ile dinamik tür denetlemesi yararlanmak için ilan sınıfları için çalıştığını unutmayın. Herhangi bir CException-oluşturduğunuz türetilmiş bir sınıf IMPLEMENT_DYNAMIC makro çok kullanın meli.
Eğer ayrıntıları kullanıcıya özel durumlar hakkında GetErrorMessage veya ReportError, herhangi bir CException' ın türetilmiş sınıfları ile çalışan iki üye işlevlerini çağırarak bildirebilirsiniz.
Makroları biri tarafından bir özel durum yakalandı, CException nesnesini otomatik olarak silinir; kendinizi silmeyin. Catch anahtar sözcüğünü kullanarak bir özel durum yakalandı, otomatik olarak silinmez. Makaleye bakın ne zaman bir exeption nesneyi silme hakkında daha fazla bilgi için Visual c++ Kılavuzu programcı özel durumlar.
CException , soyut temel sınıftır. CException nesneleri oluşturamazsınız; türetilen sınıfların nesnelerini oluşturmalısınız. Kendi CException tipi oluşturmanız gerekiyorsa, bir model olarak yukarıda türetilmiş sınıfları kullanın. Türetilmiş bir sınıf aynı zamanda IMPLEMENT_DYNAMIC kullandığından emin olun.
# include lt;afx.h>
Sınıf üyeleri |nbsp; Temel sınıf | Hiyerarşi çizelgesi
Ör&neknbsp; mfc örnek GÖZYAŞI
Ayrıca bkz: Özel durum işleme