My.Application.UnhandledException 이벤트
업데이트: 2008년 7월
응용 프로그램에서 처리되지 않은 예외가 발생하면 생성됩니다.
' Usage
Public Sub Me_UnhandledException( _
ByVal sender As Object, _
ByVal e As UnhandledExceptionEventArgs _
) Handles Me.UnhandledException
End Sub
' Declaration
Public Event UnhandledException( _
ByVal sender As Object, _
ByVal e As UnhandledExceptionEventArgs _
)
매개 변수
sender
이벤트를 발생시킨 Object입니다.e
처리되지 않은 예외와 추가 정보를 포함하는 UnhandledExceptionEventArgs 개체입니다.
설명
응용 프로그램은 처리되지 않은 예외가 발생할 경우 UnhandledException 이벤트를 발생시킵니다. 이 이벤트는 Visual Basic 응용 프로그램 모델의 일부입니다. 자세한 내용은 Visual Basic 응용 프로그램 모델 개요를 참조하십시오.
e 매개 변수의 Exception 속성을 사용하여 이 이벤트를 발생시킨 처리되지 않은 예외에 액세스할 수 있습니다.
e 매개 변수의 ExitApplication 속성을 사용하여 응용 프로그램이 종료되는지 여부를 제어할 수 있습니다. 기본적으로 ExitApplication은 True이므로 응용 프로그램은 UnhandledException 이벤트 처리기가 완료된 후 종료됩니다. UnhandledException 이벤트 처리기에서 이 값을 False로 설정하여 응용 프로그램을 실행 상태로 유지하면서 대기 상태로 돌아가도록 할 수 있습니다.
UnhandledException 이벤트 처리기에 대한 코드는 ApplicationEvents.vb 파일에 저장되고 이 파일은 기본적으로 숨겨집니다.
응용 프로그램 이벤트에 대한 코드 편집기 창에 액세스하려면
솔루션 탐색기에서 프로젝트를 선택하고 프로젝트 메뉴에서 속성을 클릭합니다.
응용 프로그램 탭을 클릭합니다.
응용 프로그램 이벤트 보기 단추를 클릭하여 코드 편집기를 엽니다.
자세한 내용은 방법: 응용 프로그램 이벤트 처리(Visual Basic)를 참조하십시오.
참고: |
---|
디버거가 처리되지 않은 예외를 처리할 수 있도록 Visual Basic 컴파일러에서는 디버깅을 위해 빌드되는 응용 프로그램이 이 이벤트를 발생시키지 못하게 합니다. 즉, 응용 프로그램을 Visual Studio 통합 개발 환경 디버거에서 실행하여 테스트하는 경우 UnhandledException 이벤트 처리기가 호출되지 않습니다. 디버깅을 위한 응용 프로그램 빌드에 대한 자세한 내용은 /debug(Visual Basic)를 참조하십시오. |
작업
다음 표에서는 My.Application.UnhandledException 이벤트와 관련된 작업의 예를 보여줍니다.
작업 |
참조 |
---|---|
Visual Basic 응용 프로그램 모델에 제공된 이벤트를 사용하여 코드 실행 |
|
처리되지 않은 예외 기록 |
예제
다음 예제에서는 My.Application.UnhandledException 이벤트를 사용하여 처리되지 않은 예외를 모두 기록합니다.
Private Sub MyApplication_UnhandledException( _
ByVal sender As Object, _
ByVal e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs _
) Handles Me.UnhandledException
My.Application.Log.WriteException(e.Exception, _
TraceEventType.Critical, _
"Unhandled Exception.")
End Sub
응용 프로그램 이벤트의 경우 코드 편집기 창에 코드를 입력해야 합니다. 이 창에 액세스하려면 이 항목의 설명 부분에 나오는 절차를 따르십시오. 자세한 내용은 방법: 응용 프로그램 이벤트 처리(Visual Basic)를 참조하십시오.
디버거가 응용 프로그램에 연결된 경우에는 UnhandledException 이벤트가 발생되지 않으므로 Visual Studio 통합 개발 환경 외부에서 이 예제를 실행해야 합니다.
요구 사항
네임스페이스:Microsoft.VisualBasic.ApplicationServices
클래스:WindowsFormsApplicationBase
어셈블리: Visual Basic 런타임 라이브러리(Microsoft.VisualBasic.dll)
프로젝트 형식별 사용 가능 여부
프로젝트 형식 |
사용 가능 여부 |
---|---|
Windows 응용 프로그램 |
예 |
클래스 라이브러리 |
아니요 |
콘솔 응용 프로그램 |
아니요 |
Windows 컨트롤 라이브러리 |
아니요 |
웹 컨트롤 라이브러리 |
아니요 |
Windows 서비스 |
아니요 |
웹 사이트 |
아니요 |
권한
다음과 같은 사용 권한이 필요합니다.
권한 |
설명 |
---|---|
이 이벤트에 대한 이벤트 처리기를 추가하는 기능을 제어합니다. 연관된 열거형: SecurityPermissionFlag.ControlAppDomain. |
자세한 내용은 코드 액세스 보안 및 권한 요청을 참조하십시오.
참고 항목
개념
참조
Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs
변경 기록
날짜 |
변경 내용 |
원인 |
---|---|---|
2008년 7월 |
"설명" 단원에서 UnhandledException 이벤트 처리기 설정과 관련된 정보가 개정되었습니다. |
콘텐츠 버그 수정 |