프로그램이 실행 될 때 다양 한 비정상적인 조건 및 "예외" 라는 오류가 발생할 수 있습니다. 이러한 메모리, 리소스 할당 오류, 및 파일을 찾으려면 실패 실행 포함 될 수 있습니다.
마이크로소프트 파운데이션 클래스 라이브러리 하나 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 하는 다음 외부 처리기。 |
| 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)