Partager via


Exceptions : Contenu de révision d'exception

Bien que l'argument d'un bloc de catch puisse être de quasiment tout type de données, les fonctions MFC lèvent des exceptions des types dérivés de la classe CException.Pour intercepter une exception levée par une fonction MFC, puis, vous écrivez un bloc de catch dont l'argument est un pointeur vers un objet d' CException (ou un objet dérivé d' CException, tel qu' CMemoryException).Selon le type exact de l'exception, vous pouvez examiner les membres de données de l'objet exception aux rassembler des informations sur la cause spécifique de l'exception.

Par exemple, le type d' CFileException a les données membres d' m_cause , qui contient un type énuméré qui spécifie la cause de l'exception de fichier.Quelques exemples des valeurs de retour possibles sont CFileException::fileNotFound et CFileException::readOnly.

l'exemple suivant montre comment examiner le contenu d' CFileException.D'autres types d'exceptions peuvent être vérifiés de la même façon.

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

Pour plus d'informations, consultez exceptions : Récupération d'objets dans les exceptions et l' exceptions : Interception et supprimant des exceptions.

Voir aussi

Concepts

Gestion des exceptions dans MFC