Bagikan melalui


Cara: Mencatat Pengecualian di Visual Basic

Anda dapat menggunakan My.Application.Log objek dan My.Log untuk mencatat informasi tentang pengecualian yang terjadi di aplikasi Anda. Contoh-contoh ini menunjukkan cara menggunakan My.Application.Log.WriteException metode untuk mencatat pengecualian yang Anda tangkap secara eksplisit dan pengecualian yang tidak tertangani.

Untuk pencatatan informasi pelacakan, gunakan metode My.Application.Log.WriteEntry. Untuk informasi lebih lanjut, lihat WriteEntry

Untuk mencatat pengecualian yang ditangani

  1. Buat metode yang akan menghasilkan informasi pengecualian.

    Public Sub ExceptionLogTest(ByVal fileName As String)
    End Sub
    
  2. Gunakan blok Try...Catch untuk menangkap pengecualian.

    Try
    Catch ex As Exception
    End Try
    
  3. Letakkan kode yang dapat menghasilkan pengecualian di Try blok.

    Batalkan komentar baris Dim dan MsgBox untuk menyebabkan NullReferenceException pengecualian.

    ' Code that might generate an exception goes here.
    ' For example:
    '    Dim x As Object
    '    MsgBox(x.ToString)
    
  4. Dalam blok Catch, gunakan metode My.Application.Log.WriteException untuk menulis informasi pengecualian.

    My.Application.Log.WriteException(ex,
        TraceEventType.Error,
        "Exception in ExceptionLogTest " &
        "with argument " & fileName & ".")
    

    Contoh berikut menunjukkan kode lengkap untuk mencatat pengecualian yang ditangani.

    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
    

Untuk mencatat pengecualian yang tidak tertangani

  1. Pilih proyek di Penjelajah Solusi. Pada menu Proyek , pilih Properti.

  2. Klik tab Aplikasi.

  3. Klik tombol Tampilkan Peristiwa Aplikasi untuk membuka Editor Kode.

    Ini membuka file ApplicationEvents.vb.

  4. Buka file ApplicationEvents.vb di Editor Kode. Pada menu Umum , pilih MyApplication Events.

  5. Pada menu Deklarasi , pilih UnhandledException.

    Aplikasi memicu kejadian UnhandledException sebelum aplikasi utama berjalan.

  6. Tambahkan metode My.Application.Log.WriteException ke penanganan acara UnhandledException.

    My.Application.Log.WriteException(e.Exception,
        TraceEventType.Critical,
        "Application shut down at " &
        My.Computer.Clock.GmtTime.ToString)
    

    Contoh berikut menunjukkan kode lengkap untuk mencatat pengecualian yang tidak tertangani.

    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
    

Lihat juga