다음을 통해 공유


Visual C++에서는 처리 된 예외

외부 프로그램의 일반적인 실행 경로 따라 계속할 수 없습니다 가능한 경우 프로그램의 컨트롤에서 오류 조건이 되지 않습니다.프로그램을 올바르게 실행 되는 경우에 때 개체 생성, 파일 입/출력 및 다른 모듈에서 함수 호출을 비롯 하 여 특정 작업을 발생할 수 있는 모든 소스는 예외입니다.강력한 코드를 예상 하 고 예외를 처리 합니다.

단일 프로그램 또는 모듈 내에서 논리 오류를 감지 하려면 예외 보다는 어설션을 사용 (참조 하십시오 어설션을 사용 하 여).

Visual C++ 예외 처리의 3 개의 종류를 지원합니다.

  • C + + 예외 처리

    대부분의 C++ 프로그램에 대 한 스택 해제 중 소멸자가 호출 되는 개체의 형식이 안전한 지 고 C++ 예외 처리를 사용 해야 합니다.

  • 구조적된 예외 처리

    Windows는 SEH 라는 고유한 예외 메커니즘을 제공 합니다.C + + 또는 MFC 프로그래밍에는 권장 되지 않습니다.비 MFC C 프로그램에만 SEH를 사용 합니다.

  • MFC 예외

    버전 3.0 이상에서 MFC C++ 예외를 사용 하지만 이전 예외 처리 폼 C++ 예외와 비슷한 매크로 계속 지원 합니다.이러한 매크로 대 한 새로운 프로그래밍 권장 되지 않습니다 있지만 이전 버전과 호환성을 위해 여전히 지원 됩니다.이미 매크로 사용 하는 프로그램에서 C++ 예외를 함께 자유롭게 사용할 수 있습니다.전처리 하는 동안 예외 처리 키워드는 C++ 언어의 Visual C++ 버전 2.0의 Visual C++ 구현에 정의 된 매크로가 계산 합니다.C + + 예외를 사용 하기 시작 하는 동안 기존 예외 매크로 위치에서 종료할 수 있습니다.

사용 하는 /EH 의 예외 처리는 project에서 사용할 형식을 지정 하는 컴파일러 옵션 C + + 예외 처리의 기본입니다.오류 처리 메커니즘을 혼합 하지 않습니다. 예를 들어, C++ 예외와 SEH를 사용 하지 않습니다.MFC 매크로 C++ 예외를 함께 사용 하는 방법에 대 한 도움말 제공을 참조 하십시오. 예외:를 사용 하 여 MFC 매크로 C++ 예외.

CLR 응용 프로그램에서에서 예외 처리에 대 한 내용은 예외를 /clr을 처리 합니다..

X64 프로세서 예외 처리에 대 한 자세한 내용은 참조 하십시오. 예외 처리(x64).

참고 항목

기타 리소스

C + + 언어 참조