J.E.N. I .
Pengenalan Pem rogram an 1 1
BAB 1 2
D a sa r Ex ce pt ion H a n dling
1 2 .1 Tu j u a n
Dalam bagian ini, kit a akan m em pelaj ari t eknik yang dipakai dalam Java dalam m enangani kondisi yang t idak biasa dalam m enj alankan operasi norm al dalam program . Teknik ini dinam akan
e x ce pt ion h a n dlin g.
Pada akhir pem bahasan, diharapkan pem baca dapat :
Mendefinisikan except ion
Menangani except ion m enggunakan blok t ry- cat ch- finally
1 2 .2 Apa it u Ex ce pt ion ?
except ion dalam blok ini.Bent uk um um dari blok t ry- cat ch- finally adalah,
try{ //tulis pernyataan yang dapat mengakibatkan exception //dalam blok ini
}
catch( <exceptionType1> <varName1> ){
//tulis aksi apa dari program Anda yang dijalankan jika ada //exception tipe tertentu terjadi
J.E.N. I .
Pengenalan Pem rogram an 1 2
catch( <exceptionTypen> <varNamen> ){
//tulis aksi apa dari program Anda yang dijalankan jika ada //exception tipe tertentu terjadi
}
finally{ //tambahkan kode terakhir di sini
}
Except ion dilem parkan selam a eksekusi dari blok t ry dapat dit angkap dan dit angani dalam blok
cat ch. Kode dalam blok finally selalu di- eksekusi.
Berikut ini adalah aspek kunci t ent ang sint ak dari konst ruksi t ry-cat ch-finally:
Not asi blok bersifat perint ah
Set iap blok t r y, t erdapat sat u at au lebih blok cat ch, t et api hanya sat u blok finally .
Blok cat ch dan blok finally harus selalu m uncul dalam konjungsi dengan blok t ry, dan diat as urut an
Blok t r y harus diikut i oleh pa lin g se dik it sat u blok cat ch ATAU sat u blok finally , at au keduanya.
Set iap blok cat ch m endefinisikan sebuah penanganan except ion. Header dari blok cat ch harus m em bawa sat u argum en, dim ana except ion pada blok t ersebut akan dit angani. Except ion harus m enj adi class pelem par at au sat u dari subclassesnya.
J.E.N. I .
Pengenalan Pem rogram an 1 3
Marilah m engam bil cont oh kode yang m encet ak argum en kedua ket ika kit a m encoba m enj alankan kode m enggunakan argum en com m and- line. Perkirakan, t idak ada pengecekan dalam kode Anda unt uk angka dari argum en dan kit a hanya m engakses argum en kedua args[ 1] segera, kit a akan m endapat kan except ion berikut .
Exception in thread "main"
java.lang.ArrayIndexOutOfBoundsException: 1
at ExceptionExample.main(ExceptionExample.java:5)
Unt uk m encegah kej adian ini, kit a dapat m enem pat kan kode ke dalam blok t ry- cat ch. Blok finally hanya sebagai pilihan lain saj a. Sebagai cont oh, kit a t idak akan m enggunakan blok finally.
public class ExceptionExample {
public static void main( String[] args ){
try{
System.out.println( args[1] );
}catch( ArrayIndexOutOfBoundsException exp ){
System.out.println("Exception caught!");
}
} }
Jadi kit a akan m enj alankan program lagi t anpa argum en, keluarannya akan m enj adi,
J.E.N. I .
public static void main( String[] args ){ for( int i=0; true; i++ ){
Com pile dan j alankan program Test Except ions. Keluarannya akan t am pak sepert i ini:
javac TestExceptions one two three args[0]=one
javac TestExceptions one two three args[0]=one