Melemparkan Kembali Exception (Rethrow Exception)

Pada jadwal Java mengizinkan exception handler untuk melemparkan kembali (rethrow) exception kalau handler tidak sanggup memprosesnya atau hanya sekedar untuk memberi tahu handler mengenai exception tersebut.

Exception sanggup dilemparkan kembali dari blok catch dan ini akan menyebabkan exception tersebut di-pass-kan pada method pemanggilnya. Bila pelemparan kembali exception itu berada pada main method maka exception akan di-pass-kan pada Java Virtual Machine (JVM) dan lalu ditampilkan pada konsol.


exception handler untuk melemparkan kembali  Melemparkan Kembali Exception (Rethrow Exception)


Tujuan dari operasi pelemparan kembali exception ini yaitu untuk mendapat perhatian bahwa exception  telah terjadi dan pada waktu yang bersamaan melaksanakan logika kontingensi ibarat logging di dalam blok catch.

Syntax untuk melemparkan kembali exception yaitu sebagai berikut:

try {    pernyataan; } catch (Exception ex) {    melaksanakan operasi sebelum keluar;    throw ex; } 

Perhatikan pernyataan throw ex pada syntax di atas. Pernyataan itu akan melemparkan kembali exception pada caller sehingga handler yang lain sanggup memperoleh kesempatan untuk memproses exception ex tersebut.

Berikut ini yaitu pola aba-aba jadwal Java untuk memahami rethrow exception.

public class RethrowExceptions {    static void pembagian(){     int a,b,c;          try{         a = 5 ;          b = 0 ;          c = a / b ;          System.out.println(a + "/"+ b +" = " + c);      }     catch(ArithmeticException e){         System.out.println("Exception ditangkap pada method pembagian()");         System.out.println("Tidak sanggup dibagi oleh nol dalam divisi Integer");         throw e; //Melemparkan kembali exception     }    }            public static void main(String[] args){      System.out.println("Method main() dimulai!");       try{         pembagian();      }      catch(ArithmeticException e){         System.out.println("Exception yang dilemparkan kembali ditangkap di method Main()");         System.out.println(e);      }     }   }  




Output:
Method main() dimulai!
Exception ditangkap pada method pembagian()
Tidak sanggup dibagi oleh nol dalam divisi Integer
Exception yang dilemparkan kembali ditangkap di method Main()
java.lang.ArithmeticException: / by zero

Pada aba-aba di line 15 di atas terdapat pernyataan throw e pada blok catch yang artinya blok catch itu akan melemparkan kembali exception dari method pembagian(). Selanjutnya exception yang terlempar itu akan di-pass-kan pada blok catch dengan pernyataan catch(ArithmeticException e) pada line 25 yang terdapat pada method main().

Belum ada Komentar untuk "Melemparkan Kembali Exception (Rethrow Exception)"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel