异常:检查异常内容

虽然 catch 块的参数可以为几乎任何数据类型,MFC 函数引发从类派生类型的异常的 CException。 为了捕捉 MFC 函数引发的异常,然后,编写参数是指向 CException 对象的 catch 块 (或从 CException派生的对象,如 CMemoryException)。 根据异常的确切类型,您可以检查异常对象的数据成员。收集信息的异常信息的特定原因。

例如,CFileException 类型具有 m_cause 数据成员,包含一枚举类型指定文件异常的原因。 可以返回值的一些示例包括 CFileException::fileNotFoundCFileException::readOnly

下面的示例演示如何检查 CFileException的内容。 其他异常类型可能类似进行检查。

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

有关更多信息,请参见 异常:版本在异常对象异常:捕获异常和删除

请参见

概念

MFC 中的异常处理