Contoh Penggunaan Blok Try – Catch – Finally Pada Java

Sebuah program mungkin saja akan menemukan error saat dijalankan, misalnya saat proses terjadi pembagian bilangan dengan angka 0 atau array yang digunakan melebihi yang sudah dideklarasikan. Error ini menyebabkan program berhenti dijalankan. Pada Java ada sebuah teknik untuk mengatasi problem ini sehingga program bisa terus berjalan. Teknik tersebut disebut blok Try-Catch-Finally.

Struktur Blok Try-Catch-Finally

Berikut ini struktur blok try dan catch :

try
{
   //Protected code
}catch(ExceptionName e1)
{
   //Catch block
}

Berikut ini struktur blok try, catch dan finally :

try
{
   //Protected code
}catch(ExceptionName e1)
{
   //Catch block
}finally{ 
  //Finally block 
}

Setiap blok try harus diikuti blok catch ATAU blok finally, namun bisa juga diikuti oleh kedua blok tersebut. Blok catch bisa lebih dari 1 sedangkan blok finally hanya 1 saja jika digunakan. Berikut contoh struktur blok try dengan multi catch.

try
{
   //Protected code
}catch(ExceptionType1 e1)
{
   //Catch block
}catch(ExceptionType2 e2)
{
   //Catch block
}catch(ExceptionType3 e3)
{
   //Catch block
}finally {
  //The finally block always executes.
} 

Blok finally sifatnya adalah optional, jadi bisa digunakan juga bisa tidak digunakan.

Error Tanpa Blok Try-Catch

Coba amati masalah  program berikut

public class ContohTryCatch {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
         int data=50/0;
         System.out.println("Hasil : "+ data);

         System.out.println("Akhir Program"); 
    }
}

Maka saat dijalankan program akan mengeluarkan :

Exception in thread "main" java.lang.ArithmeticException: / by zero
    at ContohTryCatch.main(ContohTryCatch.java:6)

Masalah tersebut dapat diatasi dengan menggunakan blok try-catch.

public class ContohTryCatch {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try{
            int data=50/0;
            System.out.println("Hasil : "+data);
        }catch(Exception e){
            System.out.println(e);
        }
        System.out.println("Akhir Program");
    }
}

Maka saat program dijalankan akan menghasilkan :

java.lang.ArithmeticException: / by zero
Akhir Program

Kode program pada blok try saat menemukan exception akan berhenti dijalankan, namun program yang berada diluar blok try-catch tetap dijalankan.

Alur Kerja Blok Try-Catch

exceptionobject

Be the first to comment

Leave a Reply

Your email address will not be published.


*