Kelas dan properti pengecualian

Kelas Exception adalah kelas dasar tempat pengecualian diwariskan. Misalnya, hierarki kelas InvalidCastException adalah sebagai berikut:

Object
  Exception
    SystemException
      InvalidCastException

Kelas Exception memiliki properti berikut yang membantu mempermudah pemahaman pengecualian.

Nama Properti Deskripsi
Data IDictionary menyimpan data arbitrer dalam pasangan kunci-nilai.
HelpLink Dapat menyimpan URL (atau URN) ke file bantuan yang memberikan informasi ekstensif tentang penyebab pengecualian.
InnerException Properti ini dapat digunakan untuk membuat dan mempertahankan serangkaian pengecualian selama penanganan pengecualian. Anda dapat menggunakannya untuk membuat pengecualian baru yang berisi pengecualian yang sebelumnya ditangkap. Pengecualian asli dapat ditangkap oleh pengecualian kedua di properti InnerException, memungkinkan kode yang menangani pengecualian kedua untuk memeriksa informasi tambahan. Misalnya, Anda memiliki metode yang menerima argumen dengan format yang salah. Kode tersebut mencoba membaca argumen, tetapi pengecualian dilemparkan. Metode menangkap pengecualian dan melemparkan FormatException. Untuk meningkatkan kemampuan pemanggil untuk menentukan mengapa pengecualian dilemparkan, terkadan metode perlu menangkap pengecualian yang dilemparkan oleh rutinitas helper lalu melemparkan pengecualian yang lebih menunjukkan kesalahan yang telah terjadi. Pengecualian baru dan lebih bermakna dapat dibuat, ketika referensi pengecualian dalam dapat diatur ke pengecualian asli. Pengecualian yang lebih bermakna ini kemudian dapat dilemparkan ke pemanggil. Perhatikan bahwa dengan fungsi ini, Anda dapat membuat serangkaian pengecualian tertaut yang berakhir dengan pengecualian yang pertama kali dilemparkan.
Message Memberikan detail tentang penyebab pengecualian.
Source Get dan set nama aplikasi atau objek yang menyebabkan kesalahan.
StackTrace Berisi tumpukan yang dapat digunakan untuk menentukan kapan kesalahan terjadi. Jejak tumpukan mencakup nama file sumber dan nomor baris program jika informasi penelusuran kesalahan tersedia.

Sebagian besar kelas yang mewariskan dari Exception tidak menerapkan anggota baru atau memberikan fungsi tambahan, tetapi mewariskan dari Exception. Sehingga, informasi yang paling penting untuk pengecualian dapat ditemukan di hierarki kelas pengecualian, nama pengecualian, dan informasi yang ada dalam pengecualian.

Sebaiknya Anda hanya melemparkan dan menangkap objek yang berasal dari Exception, tetapi Anda dapat melemparkan objek apa pun yang berasal dari kelas Object sebagai pengecualian. Perhatikan bahwa tidak semua bahasa komputer mendukung pelemparan dan penangkapan objek yang tidak berasal dari Exception.

Lihat juga