Porady: wyjątki rejestru w Visual Basic
Obiekty i My.Log
umożliwiają My.Application.Log
rejestrowanie informacji o wyjątkach występujących w aplikacji. W tych przykładach pokazano, jak używać My.Application.Log.WriteException
metody do rejestrowania wyjątków przechwytujących jawnie i wyjątków, które są nieobsługiwane.
W przypadku rejestrowania informacji śledzenia użyj My.Application.Log.WriteEntry
metody . Aby uzyskać więcej informacji, zobacz WriteEntry.
Aby zarejestrować obsłużony wyjątek
Utwórz metodę, która wygeneruje informacje o wyjątku.
Public Sub ExceptionLogTest(ByVal fileName As String) End Sub
Try...Catch
Użyj bloku, aby przechwycić wyjątek.Try Catch ex As Exception End Try
Umieść kod, który może wygenerować wyjątek w
Try
bloku.Usuń komentarz z wierszy
Dim
iMsgBox
, aby spowodować wyjątek NullReferenceException .' Code that might generate an exception goes here. ' For example: ' Dim x As Object ' MsgBox(x.ToString)
Catch
W bloku użyjMy.Application.Log.WriteException
metody , aby zapisać informacje o wyjątku.My.Application.Log.WriteException(ex, TraceEventType.Error, "Exception in ExceptionLogTest " & "with argument " & fileName & ".")
W poniższym przykładzie pokazano pełny kod rejestrowania obsługiwanego wyjątku.
Public Sub ExceptionLogTest(ByVal fileName As String) Try ' Code that might generate an exception goes here. ' For example: ' Dim x As Object ' MsgBox(x.ToString) Catch ex As Exception My.Application.Log.WriteException(ex, TraceEventType.Error, "Exception in ExceptionLogTest " & "with argument " & fileName & ".") End Try End Sub
Aby zarejestrować nieobsługiwany wyjątek
Wybierz projekt w Eksplorator rozwiązań. W menu Projekt wybierz pozycję Właściwości.
Kliknij kartę Aplikacja .
Kliknij przycisk Wyświetl zdarzenia aplikacji, aby otworzyć Edytor kodu.
Spowoduje to otwarcie pliku ApplicationEvents.vb.
Otwórz plik ApplicationEvents.vb w Edytorze kodu. W menu Ogólne wybierz pozycję MyApplication Events (Zdarzenia aplikacji).
W menu Deklaracje wybierz pozycję UnhandledException.
Aplikacja zgłasza UnhandledException zdarzenie przed uruchomieniem głównej aplikacji.
Dodaj metodę
My.Application.Log.WriteException
do procedury obsługi zdarzeńUnhandledException
.My.Application.Log.WriteException(e.Exception, TraceEventType.Critical, "Application shut down at " & My.Computer.Clock.GmtTime.ToString)
W poniższym przykładzie pokazano pełny kod rejestrowania nieobsługiwanego wyjątku.
Private Sub MyApplication_UnhandledException( ByVal sender As Object, ByVal e As ApplicationServices.UnhandledExceptionEventArgs ) Handles Me.UnhandledException My.Application.Log.WriteException(e.Exception, TraceEventType.Critical, "Application shut down at " & My.Computer.Clock.GmtTime.ToString) End Sub