Cara menggunakan structured exception handling dalam Visual Basic.NET atau pada Visual Basic 2005

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 315965 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini menunjukkan cara menggunakan structured exception handling dalam Visual Basic.NET atau pada Visual Basic 2005.

Persyaratan

Daftar berikut menguraikan fitur peranti penangkap keras, peranti penangkap lunak, jaringan infrastruktur, dan paket layanan yang Anda butuhkan:
  • Visual Basic.NET atau Visual Basic 2005
Artikel ini mengasumsikan bahwa Anda sudah familiar dengan topik-topik berikut:
  • Visual Basic.NET atau Visual Basic 2005
  • Microsoft Visual Studio.NET atau Microsoft Visual Studio 2005

Structured Exception Handling

Visual Basic.NET atau Visual Basic 2005 menawarkan terstruktur pengecualian penanganan yang menyediakan alternatif yang kuat, lebih mudah dibaca untuk penanganan kesalahan "On Error Goto", yang tersedia dalam versi sebelumnya dari Microsoft Visual Basic. Structured exception handling lebih kuat karena memungkinkan Anda untuk sarang kesalahan penangan di dalam penangan kesalahan lain dalam prosedur yang sama. Selain itu, structured exception handling menggunakan sintaks blok yang mirip dengan jika...Lain...Mengakhiri jika pernyataan. Hal ini membuat Visual Basic.NET dan Visual Basic 2005 kode lebih mudah dibaca dan mudah untuk mempertahankan.

Catatan: Visual Basic.NET atau Visual Basic 2005 mempertahankan sintaks "On Error Goto" untuk kompatibilitas mundur. Anda masih dapat menggunakan sintaks ini dalam Visual Basic.NET atau Visual Basic 2005 kode. Namun, Anda tidak dapat menggabungkan structured exception handling dan pernyataan Pada kesalahan dalam prosedur yang sama. Ketika Anda menulis kode baru, Microsoft menyarankan agar Anda menggunakan terstruktur pengecualian penanganan.

Sintaks dasar penanganan kesalahan terstruktur adalah sebagai berikut:
Try
   'Code that may raise an error.
Catch
   'Code to handle the error.
Finally
   'Code to do any final clean up.
End Try
				
Mencoba dan Akhir mencoba pernyataan diperlukan. Pernyataan yang menangkap dan akhirnya tidak diharuskan, meskipun Anda harus menyertakan setidaknya salah satu dari mereka dalam kode Anda. Anda juga dapat menentukan beberapa menangkap pernyataan sehingga setiap Catch blok menangani kesalahan tertentu.

Menangkap pengecualian

  1. Mulai Visual Studio.NET atau Visual Studio 2005.
  2. Membuat proyek Console Application baru dalam Visual Basic.NET atau pada Visual Basic 2005.
  3. Dalam prosedur Sub utama , tambahkan kode berikut:
    Dim a As Integer = 0
    Dim b As Integer = 0
    Dim c As Integer = 0
    
    Try
      a = b \ c
    Catch exc As Exception
      Console.WriteLine("A run-time error occurred")
    Finally
      Console.ReadLine()
    End Try
    					
  4. Pada Debug menu, klik mulai untuk menjalankan aplikasi. Kode mencoba untuk membagi nomor dengan nol. Ini adalah operasi ilegal yang menyebabkan pembagian dengan nol pengecualian. Untungnya, blok menangkap menangkap kesalahan ini, dan jendela konsol yang menampilkan pesan galat berikut:
    A run-time error has occurred
    						
  5. Tutup jendela konsol.

Menangkap beberapa pengecualian

Bagian ini menunjukkan bagaimana untuk menggunakan beberapa menangkap pernyataan untuk menangani berbagai kesalahan.
  1. Buka aplikasi konsol proyek yang Anda buat dalam bagian sebelumnya.
  2. Dalam prosedur Sub utama , ganti kode yang Anda disalin di bagian sebelumnya dengan kode berikut:
    Dim a As Integer = 2147483647
    Dim b As Integer = 0
    Dim c As Integer = 0
    
    Try
      a += 1
    Catch exc As DivideByZeroException
      Console.WriteLine("Error: Divide by zero")
    Catch exc As OverflowException
      Console.WriteLine("Error: Overflow")
    Finally
      Console.ReadLine()
    End Try
    						
    Kode ini mencakup dua Catch blok: satu untuk menangkap membagi sebelumnya oleh kesalahan nol, dan satu untuk menangkap kesalahan overflow baru.
  3. Pada Debug menu, klik mulai untuk menjalankan aplikasi. Jendela konsol yang menampilkan pesan galat berikut:
    Error: Overflow
    						
  4. Tutup jendela konsol.
  5. Karena Anda selalu tidak bisa mengantisipasi setiap kesalahan yang mungkin terjadi, Anda dapat menambahkan menangkap semua blok untuk pengecualian yang tak terduga. Sebagai contoh, tambahkan kode berikut sebelum akhirnya pernyataan untuk menangkap kesalahan tak terduga dan menampilkan pesan kesalahan yang sesuai:
    Catch exc As Exception
    Console.WriteLine("Error: " & exc.Message)
    					
  6. Pada File menu, klik Dekat solusi.

Melemparkan pengecualian

Structured exception handling menggunakan menangkap pernyataan untuk menangkap pengecualian. Structured exception penanganan juga menyediakan cara untuk melemparkan pengecualian. Sebagai contoh, hal ini berguna untuk melemparkan pengecualian ketika Anda melakukan validasi data dalam prosedur Properti diatur karena Anda mungkin ingin untuk melempar kesalahan jika aturan bisnis dilanggar.
  1. Mulai Visual Studio.NET atau Visual Studio 2005.
  2. Membuat proyek Console Application baru dalam Visual Basic.NET atau pada Visual Basic 2005.
  3. Pada menu proyek , klik Tambahkan kelas.
  4. Pada jendela Tambah Item baru , ketik clsPerson.vb di kotak teks nama , dan kemudian klik OK.
  5. Tambahkan kode berikut dalam Public Class clsPerson...Mengakhiri kelas pernyataan:
    Private mintAge As Integer
    
    Public Property Age() As Integer
      Get
        Age = mintAge
      End Get
      Set(ByVal Value As Integer)
        If Value >= 0 Then
          mintAge = Value
        Else
          Throw New ArgumentException ("Age cannot be negative")
        End If
      End Set
    End Property
    						
    Kode ini menciptakan usia properti. Karena seseorang tidak memiliki usia yang negatif, kesalahan dibunyikan jika pengguna kelas yang mencoba untuk mengatur usia untuk yang kurang dari nol.
  6. Dalam prosedur Sub utama Module1.vb, tambahkan kode berikut:
    Dim p As New clsPerson()
    
    Try
      p.Age = -1
    Catch exc As Exception
      Console.WriteLine(exc.Message)
    Finally
      Console.ReadLine()
    End Try
    					
  7. Pada Debug menu, klik mulai untuk menjalankan aplikasi. Jendela konsol yang menampilkan pesan galat berikut:
    Age cannot be negative
    						
  8. Tutup jendela konsol.

Daftar kode lengkap

Menangkap pengecualian

Module Module1

  Sub Main()
    Dim a As Integer = 0
    Dim b As Integer = 0
    Dim c As Integer = 0

    Try
      a = b \ c
    Catch exc As Exception
      Console.WriteLine("A run-time error occurred")
    Finally
      Console.ReadLine()
    End Try

  End Sub

End Module
				

Menangkap beberapa pengecualian

Module Module1

  Sub Main()
    Dim a As Integer = 2147483647
    Dim b As Integer = 0
    Dim c As Integer = 0

    Try
      a += 1
    Catch exc As DivideByZeroException
      Console.WriteLine("Error: Divide by zero")
    Catch exc As OverflowException
      Console.WriteLine("Error: Overflow")
    Catch exc As Exception
      Console.WriteLine("Error: " & exc.Message)
    Finally
      Console.ReadLine()
    End Try


  End Sub

End Module
				

Melemparkan pengecualian

Module Module1

  Sub Main()
    Dim p As New clsPerson()

    Try
      p.Age = -1
    Catch exc As Exception
      Console.WriteLine(exc.Message)
    Finally
      Console.ReadLine()
    End Try
  End Sub

End Module

Public Class clsPerson

  Private mintAge As Integer

  Public Property Age() As Integer
    Get
      Age = mintAge
    End Get
    Set(ByVal Value As Integer)
      If Value >= 0 Then
        mintAge = Value
      Else
        Throw New ApplicationException("Age cannot be negative")
      End If
    End Set
  End Property

End Class
				

REFERENSI

Untuk informasi lebih lanjut, lihat untuk Web site Microsoft berikut:
Kesalahan penanganan BASIC.NET cara: Tinggal dengan pengecualian ( Visual Basic pengembang artikel)
.aspx http://MSDN.Microsoft.com/en-us/library/aa227603 (v=vs.60)

Bagaimana menangkap pengecualian
.aspx http://MSDN.Microsoft.com/en-us/library/ys1b32h3 (v=vs.80)

Bagaimana melemparkan pengecualian
.aspx http://MSDN.Microsoft.com/en-us/library/z7w9ff54 (v=vs.80)

Properti

ID Artikel: 315965 - Kajian Terakhir: 15 Juni 2012 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Kata kunci: 
kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB315965 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini: 315965

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com