Bagikan melalui


Pengecualian: Memeriksa Konten Pengecualian

catch Meskipun argumen blok dapat dari hampir semua jenis data, fungsi MFC melemparkan pengecualian jenis yang berasal dari kelas CException. Untuk menangkap pengecualian yang dilemparkan oleh fungsi MFC, maka, Anda menulis catch blok yang argumennya adalah penunjuk ke CException objek (atau objek yang berasal dari CException, seperti CMemoryException). Bergantung pada jenis pengecualian yang tepat, Anda dapat memeriksa anggota data objek pengecualian untuk mengumpulkan informasi tentang penyebab spesifik pengecualian.

Misalnya, jenis memiliki CFileException m_cause anggota data, yang berisi jenis enumerasi yang menentukan penyebab pengecualian file. Beberapa contoh nilai pengembalian yang mungkin adalah CFileException::fileNotFound dan CFileException::readOnly.

Contoh berikut menunjukkan cara memeriksa konten CFileException. Jenis pengecualian lainnya juga dapat diperiksa.

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();
}

Untuk informasi selengkapnya, lihat Pengecualian: Membebaskan Objek dalam Pengecualian dan Pengecualian: Menangkap dan Menghapus Pengecualian.

Baca juga

Penanganan Pengecualian