Pada kode biasa (tanpa exception), penanganan error dilakukan manual oleh pemanggil fungsi, biasanya dengan if-else
atau pengecekan kondisi.
- Contoh: fungsi return nilai khusus (misal null
, -1
, atau kode error lain) jika terjadi error.
- Pemanggil fungsi harus mengecek hasil return dan memutuskan sendiri cara menangani error.
- Contoh kode:
int hasil = hitung();
if (hasil == -1) {
// handle error di sini
}
Pada mekanisme exception, jika terjadi error (exception dilempar), yang menangani adalah exception handler (blok catch
), bukan pemanggil fungsi secara langsung.
- Error otomatis dilempar ke exception handler terdekat, tanpa harus return nilai khusus dan dicek manual.
- Intinya:
- Tanpa exception: error dicek dan di-handle manual oleh pemanggil fungsi.
- Dengan exception: error otomatis dilempar ke exception handler (catch
) yang akan menangkap dan menangani error tersebut.