다음을 통해 공유


예외 처리

프로그램이 실행 될 때 여러 가지 비정상적인 조건 및 "예외" 라는 오류가 발생할 수 있습니다.이러한 메모리 리소스 할당 오류, 파일 찾기 실패의 부족을 포함할 수 있습니다.

Mfc 라이브러리 후 C++ ANSI 표준 위원회에서 제안 하나 밀접 하 게 모델링 하는 예외 처리 구조를 사용 합니다.함수 호출에 비정상적인 상황이 발생할 수 있습니다 전에 예외 처리기를 설치 해야 합니다.함수는 비정상 상태를 만나면 예외를 throw 및 예외 처리기로 제어가 전달 됩니다.

Mfc 라이브러리에 포함 된 여러 가지 매크로 예외 처리기를 설정 합니다.많은 다른 전역 함수 특수 예외를 throw 하 고 프로그램을 종료 하려면 필요한 경우 도움이 됩니다.이러한 매크로 전역 함수는 다음 범주로 분류 됩니다.

  • 예외 매크로, 예외 처리기를 구성 합니다.

  • 예외를 throw 하는 함수, 특정 형식의 예외를 생성 합니다.

  • 종료 함수, 프로그램 종료를 일으킬.

예제와 자세한 정보에 대 한 내용은 예외.

예외 매크로

Try

예외 처리 코드 블록을 지정합니다.

CATCH

앞에서 예외를 catch 하는 코드 블록을 지정 합니다. 시도 블록.

CATCH_ALL

앞에서 모든 예외를 catch 하는 코드 블록을 지정 합니다. 시도 블록.

AND_CATCH

앞에서 추가 예외 형식을 catch 하는 것에 대 한 코드 블록을 지정 합니다. 시도 블록.

AND_CATCH_ALL

앞에서 발생 하는 다른 모든 추가 예외 형식 catch 하는 것에 대 한 코드 블록을 지정 합니다. 시도 블록.

END_CATCH

마지막으로 끝나는 CATCH 또는 AND_CATCH 코드 블록입니다.

END_CATCH_ALL

마지막으로 끝나는 CATCH_ALL 코드 블록입니다.

THROW

지정 된 예외가 throw 됩니다.

THROW_LAST

다음 외부 처리기는 현재 처리 된 예외를 throw합니다.

예외를 Throw 하는 함수

AfxThrowArchiveException

아카이브 예외가 throw 됩니다.

AfxThrowFileException

파일 예외를 throw합니다.

AfxThrowMemoryException

메모리 예외를 throw합니다.

AfxThrowNotSupportedException

지원 되지 않음 예외를 throw합니다.

AfxThrowResourceException

찾을 수 없음 리소스는 Windows 예외가 throw 됩니다.

AfxThrowUserException

사용자가 시작한 프로그램 작업에서 예외를 throw 합니다.

MFC 특히 OLE 예외에 대 한 예외를 throw 하는 두 가지 기능을 제공합니다.

OLE 예외 함수

AfxThrowOleDispatchException

OLE 자동화 함수 내에서 예외를 throw 합니다.

AfxThrowOleException

OLE 예외가 throw 됩니다.

데이터베이스 예외를 지원 하기 위해 데이터베이스 클래스에서 두 예외 클래스를 제공 CDBExceptionCDaoException, 및 예외 형식을 지원할 수 있는 전역 함수:

DAO 예외 함수

AfxThrowDAOException

Throw는 CDaoException 에서 자신의 코드입니다.

AfxThrowDBException

Throw는 CDBException 에서 자신의 코드입니다.

MFC는 다음 종료 함수를 제공합니다.

종료 함수

AfxAbort

라는 오류가 때 응용 프로그램을 마치려면 발생 합니다.

참고 항목

참조

CException 클래스

개념

MFC 매크로 전역