Sabtu, 17 Desember 2011

SYNTAX EXCEPTION

keyword yang dipakai dalam exception handling adalah try, catch, finally, throw, throws.

Konsep penggunaan syntax try, catch

try{
          // di sini adalah baris yang dilindungi oleh try
          // letakkan kode yang potensial mengalami exception di sini
}catch(ClassException variableException){
          // kalau terjadi exception lakukan sesuatu
          // setidaknya lakukan logging
          // blok catch yang kosong bisa disebut sebagai kode konyol dan mengerikan
          // pastikan ada kode untuk memberi keterangan tentang exception apa yang terjdi
}catch(ExceptionLain variableException){
          // sama
}

kode didalam try adalah kode yang melempar excepton (throw) kalau kode didalamnya berjalan normal dan tidak ada exception yang terjadi, eksekusi akan sampai ke baris terakhir, kalau ada exception dengan tipe ClassException maka eksekusi akan lompat pada blok catch pertama, kalau ada exception dengan tipe exception lagi maka eksekusi akan loncat ke dalam blok catch kedua.

Struktur kode membaca file dalam hardisk
try{
            bukaFileDalamHardisk
            bacaFileBarisPerBaris
            tampilkanIsiFileKeConsole
}catch(IOException ioe){
            tampilakanErrorDiLogDanDiConsole
}

kalau kode bukaFileDalamHardisk gagal maka eksekusi langsung loncat ke catch, kode bacaFileBarisPerBaris dan tampilkanIsiFileKeConsole tidak akan dieksekusi dengan begitu aplikasi tetap bisa berjalan dan tidak langsung keluar.

try-catch-finally, penambahan blok kode finally. kalau kode di dalam try menimbulkan exception maka kode akan loncat ke dalam blok kode catch, sedangkan blok kode finally akan selalu dieksekusi baik terjadi eksekusi di try maupun tidak. Kode didalam finally biasanya adalah kode yang digunakan untuk melepas resource, membersihkan variable yang sudah tidak terpakai lagi, bisa dibilang kode finally itu digunakan untuk bersih bersih aplikasi agar tidak menggunakan resource yang sudah tidak diperlukan lagi.

try{
        // kode yang ada exceptionnya
}catch(ExceptionPertama ex){
       // handle exception dengan tipe exception pertama
}catch(ExceptionKedua ex){
      // handle exception dengan tipe exception kedua
}finally{
      // bersihkan resource yang terpakai, baik terjadi exception atau tidak
}

try bisa langsung diikuti dengan finally tanpa catch, pada konsep uncaught exception atau exception yang tidak tertangkap yang pada akhirnya menyebabkan aplikasi berhenti berjalan.

Tidak ada komentar:

Posting Komentar