Penanganan Pengecualian di VB.Net: Contoh Penanganan Coba & Tangkap

Apa yang dimaksud dengan Pengecualian di VB.Net?

An Pengecualian di VB.Net mengacu pada masalah yang muncul selama eksekusi program. Hal ini disebabkan oleh keadaan yang tidak terduga. Contoh yang baik adalah saat Anda melakukan operasi pembagian, lalu membaginya dengan nol (0). Pengecualian akan dimunculkan.

Apa itu Penanganan Pengecualian di VB.Net?

Dengan Pengecualian di VB.Net, Anda dapat mentransfer kontrol program dari satu bagian ke bagian lain. Dalam VB.Net, pengecualian ditangani menggunakan 4 kata kunci berikut:

Kata kunci Detil
Mencoba Pekerjaan blok Try adalah untuk mengidentifikasi blok kode yang pengecualian spesifiknya akan diaktifkan. Ini harus diikuti oleh blok tangkapan.
gulat Penangkapan Pengecualian dilakukan di blok ini. Ini adalah penangan pengecualian di mana Pengecualian ditangani.
Akhirnya Gunakan blok Akhirnya untuk menjalankan serangkaian pernyataan apakah pengecualian telah terjadi atau tidak.
Melemparkan Pengecualian dilempar setelah terjadinya masalah. Ini adalah hasil kerja dari kata kunci Throw.

Sintaks Coba Tangkap di VB.Net

Pernyataan Try Catch di VB.Net didefinisikan menggunakan sintaks di bawah ini:

Try
   [ try_Statement(s) ]
   [ Exit Try ]
[ Catch [ exception_name [ As type ] ] [ When expression ]
   [ catch_Statement(s) ]
   [ Exit Try ] ]
[ Catch ... ]
[ Finally
   [ finally_Statement(s) ] ]
End Try

Blok Coba/Tangkap harus mengelilingi kode yang mungkin menimbulkan pengecualian. Kode ini dikenal sebagai kode yang dilindungi. Anda dapat menggunakan beberapa pernyataan catch ketika Anda perlu menangkap berbagai jenis pengecualian.

Contoh Penanganan Exception di VB.Net dengan Try Catch dan Terakhir

Dengan pernyataan Coba/Tangkap, Anda dapat memisahkan kode program biasa dari kode program penanganan kesalahan System. Mari kita tunjukkan cara menangani pengecualian menggunakan kata kunci Coba, Tangkap, dan Akhirnya.

Langkah 1) Buat aplikasi konsol baru.

Langkah 2) Gunakan kode ini:

Module Module1
    Sub divisionFunction(ByVal n1 As Integer, ByVal n2 As Integer)
        Dim answer As Integer
        Try
            answer = n1 \ n2
        Catch ex As DivideByZeroException
            Console.WriteLine("Exception: {0}", ex)
        Finally
            Console.WriteLine("Answer is: {0}", answer)
        End Try
    End Sub
    Sub Main()
        divisionFunction(4, 0)
        Console.ReadKey()
    End Sub

End Module

Langkah 3) Klik tombol Start dari toolbar untuk menjalankan kode. Anda akan mendapatkan output berikut:

Penanganan Exception

Berikut ini tangkapan layar kodenya:

Penanganan Exception

Penjelasan Kode:

  1. Membuat modul bernama Module1.
  2. Membuat sub-prosedur bernama DivisionFunction dengan dua argumen bilangan bulat n1 dan n2. ByVal adalah kata kunci VB.Net yang menyatakan bahwa nilai argumen akan diteruskan berdasarkan nilai.
  3. Membuat variabel integer bernama jawaban.
  4. Mulai dari blok Coba/Tangkap. Kita perlu mengapit kode yang kita curigai dapat menimbulkan pengecualian pada blok ini.
  5. Melakukan operasi pembagian antara nilai variabel n1 dan n2. Hasil operasi pembagian ditugaskan ke variabel jawaban. Kode ini mungkin memunculkan pengecualian, misalnya ketika kita membagi suatu bilangan dengan nol, maka kita mengelilinginya dengan blok Coba/Tangkap.
  6. Menangkap Pengecualian bernama DivideByZeroException dan menetapkan pesan pengecualian yang dihasilkan ke ex.
  7. Mencetak beberapa teks di konsol untuk memberi tahu pengguna tentang jenis/nama Pengecualian yang dimunculkan.
  8. Blok Akhirnya. Ini akan mengeksekusi apakah pengecualian tertangkap atau tidak.
  9. Mencetak beberapa teks pada konsol yang menunjukkan hasil operasi pembagian.
  10. Akhir dari blok Coba, yaitu akhir dari kode penanganan kesalahan.
  11. Akhir dari sub-prosedur Fungsi pembagian.
  12. Mulai dari sub-prosedur utama.
  13. Memanggil/memanggil sub-prosedur Fungsi divisi. Nilai dari dua argumen bilangan bulat diteruskan di sini. Nilai n1=4 dan n2=0. Artinya operasi pembagiannya adalah 4\0, yaitu n1\n2.
  14. Menjeda jendela konsol menunggu pengguna mengambil tindakan untuk menutupnya.
  15. Akhir dari sub-prosedur utama.
  16. Akhir modul.

Pengecualian Buatan Pengguna di VB.Net

VB.Net memungkinkan Anda menentukan pengecualian Anda sendiri. Anda bisa mendapatkan kelas pengecualian yang ditentukan pengguna dari kelas ApplicationException. Mari kita tunjukkan ini dengan sebuah contoh:

Contoh Pengecualian Buatan Pengguna di VB.Net

Berikut adalah contoh pengecualian yang ditentukan pengguna di VB.Net:

Langkah 1) Buat aplikasi konsol baru.

Langkah 2) Gunakan kode berikut:

Module Module1

    Public Class HeightIsZeroException : Inherits ApplicationException
        Public Sub New(ByVal text As String)
            MyBase.New(text)
        End Sub
    End Class
    Public Class Height
        Dim height As Integer = 0
        Sub showHeight()
            If (height = 0) Then
                Throw (New HeightIsZeroException("Zero Height found"))
            Else
                Console.WriteLine("Height is: {0}", height)
            End If
        End Sub
    End Class
    Sub Main()
        Dim hght As Height = New Height()
        Try
            hght.showHeight()
        Catch ex As HeightIsZeroException
            Console.WriteLine("HeightIsZeroException: {0}", ex.Message)
        End Try
        Console.ReadKey()
    End Sub

End Module

Langkah 3) Klik tombol Start dari bilah atas untuk menjalankan kode. Anda akan mendapatkan output berikut:

Pengecualian Buatan Pengguna

Berikut ini tangkapan layar kodenya:

Pengecualian Buatan Pengguna

Penjelasan Kode:

  1. Membuat modul bernama Module1.
  2. Membuat kelas pengecualian bernama HeightIsZeroException. Kelas mewarisi semua kelas ApplicationException.
  3. Membuat sub-prosedur bernama Baru. Dibutuhkan satu argumen string bernama teks.
  4. Memanggil konstruktor kelas dasar dan meneruskan argumen di atas ke sana.
  5. Akhir dari sub-prosedur baru.
  6. Akhir dari kelas HeightIsZeroException.
  7. Membuat kelas bernama Tinggi. Pengubah akses publiknya adalah Publik, artinya dapat diakses publik.
  8. Membuat variabel integer bernama Tinggi dan menginisialisasi nilainya menjadi 0.
  9. Membuat sub-prosedur bernama showHeight().
  10. Mengecek kapan nilai variabel Height adalah 0. Kita telah menggunakan kondisi If…Then.
  11. Untuk Melempar HeightIsZeroException jika kondisi di atas benar. Pesan Zero Height Found akan ditampilkan ketika Exception ini dilempar.
  12. Bagian Else yang akan dieksekusi ketika kondisi If tidak benar.
  13. Pesan yang akan dicetak pada konsol yang menunjukkan Tinggi saat bukan 0.
  14. Akhir dari kondisi If.
  15. Akhir dari subprosedur showHeight().
  16. Akhir kelas Tinggi.
  17. Mulai dari sub-prosedur utama.
  18. Membuat objek bernama Tinggi sebagai turunan dari kelas Tinggi.
  19. Mulai dari blok penanganan pengecualian.
  20. Memanggil sub-prosedur showHeight() yang ditentukan di kelas Tinggi. Kami telah menggunakan objek kelas ini untuk mengakses metode ini. Baris ini mungkin menghasilkan pengecualian. Oleh karena itu, kami mengelilinginya dengan kode penanganan pengecualian.
  21. Menangkap Pengecualian HeightIsZeroException sebagai objek ex jika itu terjadi.
  22. Pesan yang akan dicetak di konsol ketika HeightIsZeroException ditangkap.
  23. Akhir dari blok penanganan pengecualian.
  24. Jeda jendela konsol menunggu pengguna mengambil tindakan untuk menutupnya.
  25. Akhir dari sub-prosedur utama.
  26. Akhir modul.

Lempar Pengecualian di VB.Net

Dalam penanganan pengecualian, Anda dapat memilih untuk melempar objek. Namun, objek tersebut harus berasal dari System.out. Kelas pengecualian, secara langsung atau tidak langsung. Misalnya:

Contoh Throw Exception di VB.Net

Di bawah ini adalah contoh pengecualian lemparan di VB.Net:

Langkah 1) Buat aplikasi konsol baru.

Langkah 2) Gunakan kode berikut:

Module Module1

    Sub Main()
        Try
            Throw New ApplicationException("Throwing a custom exception")
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        Finally
            Console.WriteLine("The Finally Block")
        End Try
        Console.ReadKey()
    End Sub


End Module

Langkah 3) Klik tombol Start dari bilah atas untuk menjalankan kode. Anda akan mendapatkan yang berikut ini:

Pengecualian Lempar

Berikut ini tangkapan layar kodenya:

Pengecualian Lempar

Penjelasan Kode:

  1. Membuat modul bernama Module1.
  2. Mulai dari sub-prosedur utama.
  3. Mulai dari kode penanganan kesalahan.
  4. Melempar objek pengecualian. Kode ini dapat menghasilkan pengecualian, oleh karena itu kami telah mengelilinginya dengan blok Try/Catch.
  5. Menangkap pengecualian sebagai objek ex jika garis memunculkan pengecualian.
  6. Mencetak pesan pengecualian di konsol jika hal itu terjadi.
  7. Blok Akhirnya untuk dijalankan apakah pengecualian tertangkap atau tidak.
  8. Pesan yang akan dicetak di konsol ketika blok Akhirnya dijalankan.
  9. Akhir dari kode penanganan pengecualian.
  10. Jeda konsol beberapa saat menunggu pengguna mengambil tindakan untuk menutupnya.
  11. Akhir dari sub-prosedur utama.
  12. Akhir modul.

Ringkasan

  • Pengecualian mengacu pada masalah yang muncul selama eksekusi program yang disebabkan oleh keadaan yang tidak terduga.
  • Jika Anda mencurigai bahwa beberapa kode akan menghasilkan pengecualian, kelilingi kode tersebut dengan blok Coba/Tangkap.
  • Blok Akhirnya muncul setelah blok Coba/Tangkap dan dijalankan baik pengecualian tertangkap atau tidak.
  • VB.Net memungkinkan kita membuat pengecualian khusus.