2010-07-01 5 views
0

질문을 처리 한 후 :이 예외 핸들러로, 지금 AddHandler System.AppDomain.CurrentDomain.UnhandledException, AddressOf OnUnhandledException다시 시작 프로그램 실행 처리되지 않은 예외를

의 문제를 일반적으로 처리되지 않은 예외를 포착

Public Sub OnUnhandledException(ByVal sender As Object, ByVal e As UnhandledExceptionEventArgs) 
    Console.WriteLine(e.ExceptionObject.ToString()) 
    Console.WriteLine("Press Enter to continue") 
    Console.ReadLine() 
    'Environment.Exit(1) 
End Sub 

프로그램 실행은 여전히 ​​예외의 경우가 발생합니다 I 돈 프로그램을 종료하지 마십시오.
이제 어떻게 변경 할 수 있는지 알고 싶습니다. '  오류   이력서   다음으로'작동합니까? 전혀 가능합니까? 빠르게 로그인하거나 프로그램이 종료하기 전에 예외를 사용자에게 경고 이상 아무것도 할하려는 경우

<STAThread()> _ 
Public Sub Main(ByVal argv As String()) 
    'For i As Integer = 0 To argv.Length - 1 Step 1 
    'Console.WriteLine("Argument {0}: {1}", i, argv(i)) 
    'Next i 

    AddHandler System.AppDomain.CurrentDomain.UnhandledException, AddressOf OnUnhandledException 

    Throw New Exception("Test") 
    Console.WriteLine("Continue") 
End sub 

답변

4

, 당신은 try/catch 블록 일반적으로 예외를 처리해야합니다. 반응에 대한 실제 결정을 내리기 위해서는 가능한 한 빨리 예외를 처리해야합니다. UnhandledException은 모든 예외 처리를 중앙에서 처리 할 수있는 좋은 곳이지만, 의도 한 용도가 아니며 응용 프로그램에서 발생하는 모든 예외를 처리해야하는 경우 매우 복잡합니다.

관련 문제