예외 처리

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

마이크로소프트 파운데이션 클래스 라이브러리 하나 c + + ANSI 표준 위원회에 의해 제안 된 후 밀접 하 게 모델링 하는 예외 처리 스키마를 사용 합니다. 비정상적인 상황이 발생할 수 있는 함수를 호출 하기 전에 예외 처리기를 설정 해야 합니다. 함수 비정상적인 조건이 발생 하는 경우 예외를 throw 및 예외 처리기로 제어가 전달 됩니다.

마이크로소프트 파운데이션 클래스 라이브러리에 포함 된 여러 가지 매크로 예외 처리기를 설정 합니다. 다른 전역 함수 번호 필요한 경우 특수 예외를 throw 하 고 프로그램을 종료 하는 데 도움이. 이러한 매크로 전역 함수는 다음 범주로:

예제와 자세한 내용은 다음 웹 사이트를 참조 하십시오. 문서 Visual c + + 프로그래머 가이드 에서 예외。

예외 매크로

시도 예외 처리에 대 한 코드 블록을 지정。
CATCH 위의 시도 블록에서 예외를 catch 코드 블록을 지정。
CATCH_ALL 위의 시도 블록에서 모든 예외를 catch 하는 것에 대 한 코드 블록을 지정。
AND_CATCH 위의 시도 블록에서 추가 예외 형식을 catch 코드 블록을 지정。
AND_CATCH_ALL 이전 시도 블록에 던져 다른 모든 추가 예외 형식 catch 코드 블록을 지정。
END_CATCH 마지막 CATCH 또는 AND_CATCH 코드 블록을 종료합니다.
END_CATCH_ALL 마지막으로 CATCH_ALL 코드 블록을 종료합니다.
던져 지정 된 예외 throw。
THROW_LAST 현재 처리 예외를 throw 하는 다음 외부 처리기。

예외를 Throw 하는 함수

AfxThrowArchiveException 아카이브 예외 throw。
AfxThrowFileException 파일 예외 throw。
AfxThrowMemoryException 메모리 예외 throw。
AfxThrowNotSupportedException 지원 되지 않는 예외 throw。
AfxThrowResourceException Windows 리소스가 아니라 예외。
AfxThrowUserException 사용자가 시작한 프로그램 작업에서 예외를 throw합니다.

MFC OLE 예외에 대 한 구체적으로 두 개의 예외를 던지고 기능을 제공합니다.:

OLE 예외 함수

AfxThrowOleDispatchException OLE 자동화 함수 내의 예외 throw。
AfxThrowOleException OLE 예외 throw。

데이터베이스 예외를 지원 하기 위해 데이터베이스 클래스 제공 예외 형식을 지원 하기 위해 두 가지 예외 클래스, CDBException 및 CDaoException및 전역 함수:

DAO 예외 함수

AfxThrowDAOException 자신의 코드에서 throw 하는 CDaoException。
AfxThrowDBException 자신의 코드에서 CDBException 을 던졌습니다.

MFC는 다음 종료 기능을 제공 한다.:

종료 함수

AfxAbort 발생 때 치명적인 오류가 발생 한 응용 프로그램을 종료 하 라는。

참고 항목nbsp;CException(&N)

Index