다음을 통해 공유


예외: 예외 내용 검사

catch 블록의 인수는 거의 모든 데이터 형식일 수 있지만 MFC 함수는 클래스CException에서 파생된 형식의 예외를 throw합니다. MFC 함수에서 throw된 예외를 catch하려면 인수가 개체에 대한 포인터CException(또는 파생된 CException개체(예: CMemoryException)인 블록을 작성 catch 합니다. 예외의 정확한 형식에 따라 예외 개체의 데이터 멤버를 검사하여 예외의 특정 원인에 대한 정보를 수집할 수 있습니다.

예를 들어 형식에는 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();
}

자세한 내용은 예외: 예외 및 예외에서 개체 해제: 예외 Catch 및 삭제를 참조하세요.

참고 항목

예외 처리