Bagikan melalui


Penanganan Pengecualian (Penanganan Kesalahan)

Pengecualian dapat dimulai oleh perangkat keras atau perangkat lunak, dan dapat terjadi dalam mode kernel serta kode mode pengguna. Penanganan pengecualian terstruktur menyediakan mekanisme tunggal untuk penanganan pengecualian mode kernel dan mode pengguna.

Eksekusi urutan instruksi tertentu dapat mengakibatkan pengecualian yang dimulai oleh perangkat keras. Misalnya, pelanggaran akses dihasilkan oleh perangkat keras ketika proses mencoba membaca dari atau menulis ke alamat virtual yang tidak memiliki akses yang sesuai.

Peristiwa yang memerlukan penanganan pengecualian juga dapat terjadi selama eksekusi rutinitas perangkat lunak (misalnya, ketika nilai parameter yang tidak valid ditentukan). Ketika ini terjadi, utas dapat memulai pengecualian secara eksplisit dengan memanggil fungsi RaiseException. Fungsi ini memungkinkan utas panggilan untuk menentukan informasi yang menjelaskan pengecualian.

Pengecualian dapat dilanjutkan atau tidak dapat dilanjutkan. Pengecualian yang tidak dapat dilanjutkan muncul ketika peristiwa tidak dapat dilanjutkan dalam perangkat keras, atau jika kelanjutan tidak masuk akal. Pengecualian yang tidak dapat dilanjutkan tidak mengakhiri aplikasi. Oleh karena itu, aplikasi mungkin dapat menangkap pengecualian dan berjalan. Namun, pengecualian yang tidak dapat dilanjutkan biasanya muncul sebagai akibat dari tumpukan yang rusak atau masalah serius lainnya, sehingga sulit untuk pulih dari pengecualian.