1.Describe the Java Throwable class, its subclasses, and the types of exceptions
2.What is the purpose of declaring exceptions? How do you declare an exception, and where? Can you declare multiple exceptions in a method header?
3.What is a checked exception and an unchecked exception?
4.What is the keyword throw and throws used for?
5.Point out the problem in the following code. Does the code throw any exceptions?
6.Suppose that statement2 causes an exception in the following try-catch block:
Answer the following questions:
−Will statement3 be executed?
−If the exception is not caught, will statement4 be executed?
−If the exception is caught in the catch block, will statement4 be executed?
−If the exception is passed to the caller, will statement4 be executed?
7.What is displayed when the following program is run?
Answer :
1. Throwable adalah kelas yang ada di package java.lang yang menangani eksepsi dan merupakan turunan dari kelas objek (kelas tertinggi di JAVA). Fungsi code ini akan akan dijalankan jika terjadi eksepsi saja.Subclasses dari Error adalah LinkageError, VirtualMachineError, and AWTError. subclasses dari Exception ialah RuntimeException, IOException, AWTException, dan InstantiationException.
Tipe-tipe Exception sangat banyak, seperti :
ArithmeticException : Arithmetic error, such as divide by zero. ArrayIndexOutOfBoundsException : Array index is out-of-bounds. ClassCastException : Invalid cast. StringIndexOutOfBounds : Attempt to index outside the bounds of a string. NullPointerException : Invalid use of a null reference. IndexOutOfBoundsException : Some type of index is out-of-bounds.
2. Tujuan dari declare exception adalah untuk memberitahu sistem runtime Java apa yang bisa terjadi kesalahan. Declare exception dapat menggunakan throws keyword dalam method declaration.
Untuk melakukkan declare multiple exception dapat dilakukan dengan cara memisahkannya dengan koma.
3. Checked exceptions adalah exception yang diperiksa oleh Java compiler. Compiler memeriksa keseluruhan program apakah menangkap atau mendaftar exception yang terjadi dalam sintaxthrows. Apabila checked exception tidak didaftar ataupun ditangkap, maka compiler error akan ditampilkan.
Tidak seperti checked exceptions, unchecked exceptions tidak berupa compile-time checking dalam penanganan exceptions. Pondasi dasar dari unchecked exception classes adalah Error, RuntimeException dan subclass-nya.
4. Keyword throw digunakan untuk melempar suatu eksepsi dalam program. keyword throws digunakan pada waktu mendeklarasikan suatu method untuk memberitahu bahwa method yang bersangkutan dapat melempar eksepsi dengan tipe yang dideklarasikan oleh keyword throws tersebut.
5. Code tersebut tidak digunakan sebagai pengecualian dalam Java. Jika panjang nilai maksimal yang ditambahkan tidak melebihi panjang nilai itu sendiri.
6. Menggunakan pengecualian pada try catch berikut :
– Statement 3 tidak akan dilakukan eksekusi/ tidak dijalankan.
– Jika pengecualian tidak ada pada catch, maka statement 4 tidak akan dilakukan eksekusi/tidak dijalankan.
– Jika pengecualian ada pada catch, maka statement 4 akan dilakukan eksekusi.
– Jika pengecualian diberikan kepada pemanggil (yang melakukan eksekusi), maka statement4 tidak akan dilalukan eksekusi.
7. Ketika fungsi mainnya diubah, maka Output yang keluar akan mengeluarkan exception : “ArithmeticException”
BINUS University – www.binus.ac.id