다음을 통해 공유


사용자 지정 예외 샘플

업데이트: 2007년 11월

이 솔루션은 두 가지 고급 예외 관리 기법인 사용자 지정 예외 처리와 전역 예외 처리를 보여 줍니다.

설치 샘플 및 지침을 얻으려면

  • 다음 중 하나 이상을 수행합니다.

    • 도움말 메뉴에서 샘플을 클릭합니다.

      추가 정보 파일에서 샘플에 대한 정보를 확인합니다.

    • Visual Studio 2008 Samples 웹 사이트를 방문합니다. 이 웹 사이트에서 최신 버전의 샘플을 얻을 수 있습니다.

    • Visual Studio가 설치되어 있는 컴퓨터에서 샘플을 찾습니다. 기본적으로 샘플과 추가 정보 파일은 drive:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid에 설치되어 있습니다. Visual Studio Express Editions의 경우에는 모든 샘플이 온라인에 있습니다.

자세한 내용은 샘플 파일 찾기를 참조하십시오.

보안 정보:

이 샘플 코드는 개념을 설명하기 위한 것으로 개념과 관련된 코드만을 보여 줍니다. 특정 환경에 대한 보안 요구 사항을 충족하지 못 할 수 있고 표시된 그대로 사용하면 안됩니다. 안전하고 강력한 프로젝트를 만들려면 보안 및 오류 처리 코드를 추가하는 것이 좋습니다. Microsoft에서는 어떠한 보증도 없이 “있는 그대로” 이 샘플 코드를 제공합니다.

이 샘플을 실행하려면

  1. 솔루션 탐색기에서 클라이언트 프로젝트를 마우스 오른쪽 단추로 클릭하고 시작 프로젝트로 설정을 선택합니다.

  2. Ctrl+F5를 누릅니다. 전역 예외 처리기의 영향을 볼 수 있도록 프로그램을 디버거 외부에서 실행하는 것이 좋습니다.

세부 항목

이 샘플에는 Windows Forms 클라이언트와 클래스 라이브러리라는 두 개의 프로젝트가 포함됩니다.

클래스 라이브러리(서버)

클래스 라이브러리는 응용 프로그램에서 정의된 오류를 노출시키는 데 사용되는 사용자 지정 예외 클래스 집합과 Customer를 정의합니다. 예외 클래스들은 상속 계층 구조에 의해 연관됩니다. 기본 클래스는 ApplicationException에서 상속되는 CRMSystemException입니다 . CustomerException 및 EmployeeException은 CRMSystemException에서 상속됩니다. 또한 CustomerException에서 상속되는 두 가지 예외로 CustomerNotFoundException과 CustomerNotDeletedException이 있습니다. 각 클래스는 서로 다른 수준의 정보와 기능을 노출합니다.

클라이언트 코드

클라이언트 응용 프로그램에는 클래스 라이브러리에 대한 참조가 있습니다. 두 개의 명령 단추를 통해 Customer 클래스에 대해 메서드를 실행하고 사용자 지정 예외를 catch합니다. 세 번째 명령 단추를 누르면 처리되지 않는 예외가 발생합니다. 또한 전역 예외 처리를 활성화하는 "Turn on Global Exception Trap"이라는 확인란이 있습니다. 전역 예외 처리를 활성화하면 기본 Windows Forms 처리기 대신 OnThreadException 메서드에 정의된 코드가 실행됩니다.

참고 항목

참조

ApplicationException

ThreadException

OnThreadException

Try...Catch...Finally 문(Visual Basic)

기타 리소스

Visual Basic에서 구조적 예외 처리