Bagikan melalui


Cara: Mencatat Pengecualian di Visual Basic

Anda dapat menggunakan objek My.Application.Log dan My.Log untuk mencatat informasi tentang pengecualian yang terjadi di aplikasi Anda. Contoh berikut menunjukkan cara menggunakan metode My.Application.Log.WriteException guna mencatat pengecualian yang Anda tangkap secara eksplisit dan pengecualian yang tidak ditangani.

Untuk informasi pelacakan pengelogan, gunakan metode My.Application.Log.WriteEntry. Untuk informasi selengkapnya, 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 blok Try.

    Batalkan komentar pada baris Dim dan MsgBox untuk menyebabkan pengecualian NullReferenceException.

    ' Code that might generate an exception goes here.
    ' For example:
    '    Dim x As Object
    '    MsgBox(x.ToString)
    
  4. Di 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 ditangani

  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 akan membuka file ApplicationEvents.vb.

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

  5. Pada menu Deklarasi, pilih UnhandledException.

    Aplikasi memunculkan peristiwa UnhandledException sebelum aplikasi utama berjalan.

  6. Tambahkan metode My.Application.Log.WriteException ke penanganan aktivitas 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 ditangani.

    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