Excepciones: Contenido de inspección de excepción

Aunque el argumento de un bloque catch puede ser de casi cualquier tipo de datos, las funciones de MFC producen excepciones de los tipos derivados de la clase CException.Para detectar una excepción producida por una función de MFC, a continuación, escribe un bloque catch cuyo argumento es un puntero a un objeto de CException (o a un objeto derivado de CException, como CMemoryException).Dependiendo del tipo exacto de la excepción, puede examinar los miembros de datos del objeto de excepción al recopilar información sobre la causa concreta de la excepción.

Por ejemplo, el tipo de CFileException tiene el miembro de datos de m_cause , que contiene un tipo enumerado que especifique la causa de la excepción de archivo.Algunos ejemplos de valores devueltos son CFileException::fileNotFound y CFileException::readOnly.

El ejemplo siguiente se muestra cómo examinar el contenido de CFileException.Otros tipos de excepción pueden ser examinados similar.

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

Para obtener más información, vea excepciones: Liberar objetos de Excepciones y excepciones: Detectando y eliminar Excepciones.

Vea también

Conceptos

Control de excepciones en MFC