JAVA: try, catch, throw & throws di Java
Apakah Exception?
Exception adalah "peristiwa yang tidak diinginkan atau tidak terduga", yang terjadi selama eksekusi program yaitu, pada saat run-time, yang mengganggu aliran normal instruksi program. Ketika exception terjadi, eksekusi program dihentikan.
Mengapa Exception terjadi?
Exception dapat terjadi karena beberapa alasan seperti masalah koneksi jaringan, Input buruk yang diberikan oleh pengguna, Membuka file yang tidak ada di program Anda, dll.
Block & Keyword yang digunakan untuk menangani exception
1.try:
Blok try berisi serangkaian pernyataan di mana exception dapat terjadi.
try { // statement(s) that might cause exception }
2.catch:
Catch block digunakan untuk menangani kondisi try block yang tidak pasti. Block try selalu diikuti oleh block catch, yang menangani exception yang terjadi di block try terkait.
catch { // statement(s) that handle an exception // examples, closing a connection, closing // file, exiting the process after writing // details to a log file. }
3.throw:
Throw keyword digunakan untuk mentransfer control dari try block ke catch block.
4.throws:
Keyword Throws digunakan untuk penanganan exception tanpa block try & catch. Ini menentukan exception yang dapat dilemparkan oleh suatu method ke pemanggil dan tidak menangani dirinya sendiri.
5.finally:
Itu dieksekusi setelah catch block. Kita pada dasarnya menggunakannya untuk meletakkan beberapa code umum ketika ada beberapa catch block.
Contoh Exception yang dihasilkan oleh sistem diberikan di bawah ini:
Exception in thread "main" java.lang.ArithmeticException: divide by zero at ExceptionDemo.main(ExceptionDemo.java:5) ExceptionDemo: The class name main:The method name ExceptionDemo.java:The file name java:5:line number // Java program to demonstrate working of try, // catch and finally class Division { public static void main(String[] args) { int a = 10, b = 5, c = 5, result; try { result = a / (b - c); System.out.println("result" + result); } catch (ArithmeticException e) { System.out.println("Exception caught:Division by zero"); } finally { System.out.println("I am in final block"); } } }
Output:
Exception caught:Division by zero I am in final block
Contoh throw keyword:
// Java program to demonstrate working of throws class ThrowsExecp { // This method throws an exception // to be handled // by caller or caller // of caller and so on. static void fun() throws IllegalAccessException { System.out.println("Inside fun(). "); throw new IllegalAccessException("demo"); } // This is a caller function public static void main(String args[]) { try { fun(); } catch (IllegalAccessException e) { System.out.println("caught in main."); } } }
Output:
Inside fun(). caught in main.