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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk