보조 UI 스레드에서 처리되지 않은 예외 관리 샘플
업데이트: 2007년 11월
이 샘플에서는 보조 UI(사용자 인터페이스) 스레드에서 throw된 처리되지 않은 예외를 관리하는 방법을 보여 줍니다.
이 샘플에서는 Windows Presentation Foundation의 특정 기능에 대해 설명하므로 최선의 응용 프로그램 개발 방법을 따르지 않습니다. WPF(Windows Presentation Foundation) 및 Microsoft .NET Framework 응용 프로그램 개발을 위한 최선의 방법에 대한 자세한 내용은 다음에서 적절한 항목을 참조하십시오.
내게 필요한 옵션 - 액세스 가능성에 대한 유용한 정보
지역화 - WPF 전역화 및 지역화 개요
성능 - WPF 응용 프로그램 성능 최적화
보안 - Windows Presentation Foundation 보안
샘플 빌드
Windows SDK(소프트웨어 개발 키트)를 설치하고 빌드 환경 명령 창을 엽니다. 시작 메뉴에서 모든 프로그램, Microsoft Windows SDK를 차례로 가리킨 다음 CMD 셸을 클릭합니다.
SDK(소프트웨어 개발 키트) 설명서 등에서 샘플을 하드 디스크 드라이브로 다운로드합니다.
빌드 환경 명령 창에서 샘플을 빌드하려면 샘플의 소스 디렉터리로 이동합니다. 명령 프롬프트에 MSBUILD를 입력합니다.
Microsoft Visual Studio에서 샘플을 빌드하려면 샘플 솔루션이나 프로젝트 파일을 로드한 다음 Ctrl+Shift+B를 누릅니다.
샘플 실행
빌드 환경 명령 창에서 컴파일된 샘플을 실행하려면 샘플 소스 코드 폴더 아래에 있는 Bin\Debug 또는 Bin\Release 폴더의 .exe 파일을 실행합니다.
Visual Studio에서 디버깅 기능을 사용하여 컴파일된 샘플을 실행하려면 F5 키를 누릅니다.
설명
독립 실행형 또는 브라우저 호스팅 WPF 응용 프로그램에서는 Application 클래스를 사용하여 처리되지 않은 예외를 감지합니다(DispatcherUnhandledException 참조). 하지만 Application에서는 Application 클래스가 실행되는 스레드에서 throw된 처리되지 않은 예외만 감지할 수 있습니다. 일반적으로 응용 프로그램에는 기본 UI(사용자 인터페이스) 스레드가 하나만 있으므로 Application의 처리되지 않은 예외 감지 동작으로 충분합니다. 하지만 보조 스레드에서 throw된 처리되지 않은 예외는 기본 UI 스레드의 Application 클래스에 의해 자동으로 감지되지 않습니다.
이 샘플에서는 처리되지 않은 예외를 보조 UI 스레드에서 Application 개체에 의해 예외가 감지될 수 있는 기본 UI 스레드로 다시 전달하는 방법을 설명합니다. 이렇게 하려면 보조 UI 스레드에서 처리되지 않은 예외를 감지하고 Dispatcher를 사용하여 이를 기본 UI 스레드로 전달합니다. 예외는 Application 개체가 이를 감지할 수 있도록 기본 UI 스레드에서 다시 throw됩니다.
참고
보조 UI 스레드는 UI를 표시하는 보조 스레드입니다.