Exception (Eksepsi)


POKOK BAHASAN 5 : EXCEPTION (EKSEPSI)
Eksepsi adalah mekanisme yang memungkinkan program untuk menangkap kondisi-kondisi tertentu yang membutuhkan penanganan khusus misalnya kesalahan/ error. Format eksepsi adalah :
Try {
            // blok program
            . . . . . .
} catch (EksepsiTipe1 e) {
            // blok program untuk EksepsiTipe1
            . . . . . .
} catch (EksepsiTipe2 e) {
            // blok program untuk EksepsiTipe2
            . . . . . .
} catch (EksepsiTipe3 e) {
            // blok program untuk EksepsiTipe3
            . . . . . .
} finally {
            // blok program
            . . . . . . }
try menyatakan bahwa dalam blok try dapat terjadi suatu ekspresi dan bila eksepsi terjadi, maka aktifkan program yang berada dalam kelompok (blok) catch sesuai dengan tipe ekspresinya.
Object e dari tipe ekspresi dapat digunakan sebagai referensi penanganan eksepsi aktual. 
finally menyatakan bahwa apapun jenis tipe ekspresinya, maka program dalam blok ini harus tetap dijalankan.
Pada saat run time, jika java menemukan kesalahan akan melempar pesan ke program. Dengan pesan ini, program akan melakukan suatu aksi tertentu. Mekanisme melempar ini disebut juga sebagai throw, alur program akan dihentikan, kemudian program pengendali (exception handling) akan diaktifkan.

throw
Throw digunakan secara eksplisit untuk membuang sebuah eksepsi.
throws
Dengan throws ini, kita bisa menghilangkan try dan catch pada subroutine demo( ), namun dengan menggunakan tambahan kata kunci throws Exception.

Tabel 6.1 Common Jaxa Exceptions
Exceptions
Description
ArithmeticException
Disebabkan oleh error secara matematika seperti pembagian dengan nol
ArrayIndexOutOfBouns Exception
Disebabkan oleh array index yang salah
ArrayStoreException
Disebabkan ketika program mencoba menyimpan file data yang salah
FileNotFoundException
Disebabkan oleh usaha mengakses file yang tidak ada
IOException
Disebabkan oleh general I/O failures, seperti kegagalan membaca file
NullPointException
Disebabkan oleh mereferensi obyek null
NumberFormatException
Disebabkan ketika konversi antara string dan bilangan gagal
OutOfMemoryException
Disebabkan ketika tidak cukup memory untuk alokasi obyek
SecurityException
Disebabkan ketika sebuah applet mencoba melakukan aksi yang tidak diperbolehkan oleh setting security browser
StackOverflowException
Disebabkan ketika sistem run melebihi kapasitas stack
StringIndexOutOfBoundsException
Disebabkan ketika program mencoba mengakses posisi karakter yang tidak ada di dalam string

Comments