Anda sedang offline saat ini, menunggu internet Anda untuk menyambung kembali

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

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
RINGKASAN
Artikel ini menunjukkan cara menggunakan structured exception handling dalam Visual Basic.NET atau pada Visual Basic 2005.

back to the top

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
back to the top

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.

back to the top

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 = 0Dim b As Integer = 0Dim c As Integer = 0Try  a = b \ cCatch 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.
back to the top

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 = 2147483647Dim b As Integer = 0Dim c As Integer = 0Try  a += 1Catch 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 ExceptionConsole.WriteLine("Error: " & exc.Message)					
  6. Pada File menu, klik Dekat solusi.
back to the top

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 IntegerPublic 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 SetEnd 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 = -1Catch 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.
back to the top

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 SubEnd Module				
back to the top

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 SubEnd Module				
back to the top

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 SubEnd ModulePublic 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 PropertyEnd Class				
back to the top

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)

back to the top

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 315965 - Tinjauan Terakhir: 06/15/2012 08:28:00 - Revisi: 2.0

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB315965 KbMtid
Tanggapan
script type="text/javascript"> Asimov.clickstreamTracker.init();