Aracılığıyla paylaş


Özel Durumlar: Özel Durum İçeriklerini İnceleme

Bir catch bloğun bağımsız değişkeni hemen her veri türünde olsa da, MFC işlevleri sınıfından CExceptiontüretilen türlerin özel durumlarını oluşturur. Bir MFC işlevi tarafından oluşan bir özel durumu yakalamak için, bağımsız değişkeni bir catch nesnenin işaretçisi (veya gibi CMemoryExceptionöğesinden CExceptiontüretilmiş bir nesne) olan bir CException blok yazarsınız. Özel durumun tam türüne bağlı olarak, özel durumun belirli nedeni hakkında bilgi toplamak için özel durum nesnesinin veri üyelerini inceleyebilirsiniz.

Örneğin, tür, CFileException dosya özel durumunun m_cause nedenini belirten numaralandırılmış bir tür içeren veri üyesine sahiptir. Olası dönüş değerlerine bazı örnekler ve CFileException::readOnlyşeklindedirCFileException::fileNotFound.

Aşağıdaki örnekte, içeriğinin CFileExceptionnasıl incelendiği gösterilmektedir. Diğer özel durum türleri benzer şekilde incelenebilir.

try
{
   CFile file(_T("\\this_file_should_not_exist.dat"), CFile::modeRead);
}
catch (CFileException* theException)
{
   if (theException->m_cause == CFileException::fileNotFound)
      TRACE("File not found\n");
   theException->Delete();
}

Daha fazla bilgi için bkz. Özel Durumlar: Özel Durumlarda Nesneleri Boşaltma ve Özel Durumlar: Özel Durumları Yakalama ve Silme.

Ayrıca bkz.

Özel Durum İşleme