Anda di halaman 1dari 6

TUGAS EXCEPTION HANDLING

1. Apa perbedaan error dan exception class


kelas Exception merupakan kelas turunan dari kelas Throwable di package Java.Lang. Selain Exception,
java.lang.Throwable juga memilikisubclass yaitu class Error. error dan exception pada dasarnya
berbeda. Error merupakan masalah yang muncul tapi tidak ada alasan yang kuat untuk menangkapnya.
Sedangkan Exception merupakan kesalahan kecil yang muncul dan ingin diperlakukan sesuai
keinginan developer.

2. Kapan digunakan exception handling dan apa manfaatnya


ketika program berjalan dan muncul sebuah bug atau kesalahan maka bugtersebut dapat dianggap
sebuah object. Sehingga ketika object ini di tampilkan di layar maka java akan secara otomatis memanggil
method toString yang terdapat dalam object bertipeException ini. Java memberikan akses
kepada developer untuk mengambil object bug yang terjadi ini dengan mekanisme yang
dikenal Exception Handling.
memberikan flexibilitas kepada developer untuk menangkapbug atau kesalahan yang terjadi ketika program
berjalan.
Tujuan dari Exception adalah untuk menyatakan suatu resource atau suatu kondisi yang
dibutuhkan oleh program jika tidak tersedia. Kita declareException ketika ada suatu kondisi yang
memungkinkan akan terjadinya error pada saat melakukan input. Pada method Header, kita juga
bisa melakukan declare multiple exception. Karena pada dasarnya, Exception harus di declare
pada method header dengan menggunakan throws clause.

3. Apa perbedaan dari checked exception dan unchecked exception

Java menyediakan dua kategori besar untuk eksepsi yang disebut sebagai checked exception dan unchecked
exception.

Checked Exception
Adalah eksepsi yang diantisipasi oleh programmer untuk dihandle dalam program dan terjadi dikarenakan oleh
kondisi luar yang siap muncul saat program berjalan. Misalnya membuka file yang tidak ada atau gangguan jaringan.
Yang termasuk checked exception adalah class java.lang.Throwable dan semua subclassnya, kecuali
class dan subclass dari java.lang.Error dan java.lang.RuntimeError

Unchecked Exception

bisa muncul dari kondisi yang merepresentasikan adanya bug atau situasi yang secara umum dianggap terlalu sulit
bagi program untuk menghandlenya. Disebut sebagai unchecked karena kita tidak perlu mengeceknya atau
melakukan sesuatu jika kondisi ini terjadi. Eksepsi yang muncul dari kategori situasi yang merepresentasikan bug ini
disebut sebagai runtime exception. Misalnya mengakses array melebihi size yang dimilikinya.
Yang termasuk Unchecked exception
1.

java.lang.Error dan subclassnya

2.

java.lang.RuntimeException dan subclassnya.

Sedangkan eksepsi yang muncul sebagai akibat dari isu environment software yang ini jarang sekali atau sulit
sekali untuk dihandle- disebut sebagai error, misalnya running out memory.

Checked Exception adalah eksepsi yang diantisipasi oleh programmer untuk dihandle dalam
program dan terjadi dikarenakan oleh kondisi luar yang siap muncul saat program berjalan. Misalnya
membuka file yang tidak ada atau gangguan jaringan. Yang termasuk checked exception adalah class
java.lang.Throwable dan semua subclassnya, kecuali class dan subclass dari java.lang.Error dan
java.lang.RuntimeError

Unchecked Exception bisa muncul dari kondisi yang merepresentasikan adanya bug atau situasi
yang secara umum dianggap terlalu sulit bagi program untuk menghandlenya. Disebut sebagai
unchecked karena kita tidak perlu mengeceknya atau melakukan sesuatu jika kondisi ini terjadi.
Eksepsi yang muncul dari kategori situasi yang merepresentasikan bug ini disebut sebagai runtime
exception. Misalnya mengakses array melebihi size yang dimilikinya. Yang termasuk Unchecked
exception:
1.

java.lang.Error dan subclassnya

2.

java.lang.RuntimeException dan subclassnya.

4. Apa java compiler yang mengeksekusi exception handlng, jelaskan


5. Apa perbedaan throw dan throws, jelaskan

4. throw
Keyword ini digunakan untuk melemparkan suatu bug yang dibuat secara manual. Contoh program :

public class A
{
public static void main(String[] args) {
try
{
throw new Exception("kesalahan terjadi");
}
catch(Exception e)
{
System.out.println(e);
}

}
}
Output Program :
java.lang.Exception: kesalahan terjadi
Seperti yang anda lihat pada program diatas, pada keyword throw new Exception(kesalahan terjadi); akan
melempar object bertipe exception yang merupakansubclass dari class Exception sehingga akan dianggap sebagai
suatu kesalahan yang harus ditangkap oleh keyword catch.
Perhatikan contoh berikut ini :

public class A
{
public static void main(String[] args) {
try
{
throw new B(); //cobalah ganti baris ini dengan
new B();
}
catch(Exception e)
{
System.out.println(e);
}
}
}
class B extends Exception
{
B()
{
}
public String toString()
{
return object dengan tipe kelas B;
}
}
Output Program :
object dengan tipe kelas B
Program

diatas

telah

mendefinisikan

suatu

kelas

B mengextends dari

kelas Exception.

Ketika

kita

melakukan throw new B(); maka object dari kelas bertipe B ini akan dianggap kesalahan dan ditangkap
oleh block catch. Sekarang jika anda menghilangkan keyword throw apa yang terjadi?.
5. throws

Keyword throws digunakan dalam suatu method atau kelas yang mungkin menghasilkan suatu kesalahan sehingga
perlu ditangkap errornya. Cara mendefinisikannya dalam method adalah sebagai berikut : <method modifier> type
method-name throws exception-list1, exceptio-list2, {}.
Contoh Program :

public class A
{
public static void main(String[] args) {
try
{
f();
}
catch(Exception e)
{
System.out.println(e);
}
}
public static void f() throws NullPointerException,
ArrayIndexOutOfBoundsException
{
//implementasi method
throw new NullPointerException();
//throw new ArrayIndexOutOfBoundsException();
}
}

throw
Keyword throw digunakan untuk melempar suatu eksepsi dalam program, contoh kode:
If (ada yang salah)
Throw new Exception(Terjadi kesalhan nih..!!);

throws
Sedangkan 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. Contoh kode :
void methodLagiPusing() throws IOException, Exception {}

Penggunaan keyword throws ini juga hanya diperlukan jika eksepsi yang hendak dilempar merupakan eksepsi
yang dicek (bukan merupakan turunan dari class RuntimeException dan umumnya merupakan turunan
dari class Exception).

Keyword throw digunakan untuk melempar object bertipe class atau subclass
java.lang.Throwable atau digunakan untuk melempar suatuexception dalam program.

Keyword throws digunakan


pada
saat
akan
mendeklarasikan
suatu method untuk
memberitahukan bahwa method yang bersangkutan dapat melemparkan suatu Exception sesuai
dengan tipe yang disebutkan oleh keyword throws tersebut.

dari

6. Apa fungsi dari finally dalam exception handling

Keyword ini merupakan keyword yang menunjukan bahwa block program tersebut akan selalu dieksekusi meskipun
adanya kesalahan yang muncul atau pun tidak ada. Contoh implementasinya pada program :

public class A
{
public static void main(String[] args) {
try
{
//int a = 1/0;
}
finally
{
System.out.println("terima kasih telah menjalankan program");
}
}
}

7. Carilah contoh aplikasi exception handling, serta jelaskan per baris


a. AritmetikException
b. NullPointerException

c. IndexOutBoundsException
d. FileNotFoundException
8. Buatlah contoh aplikasi multiple catch dengan 3 exception handling
9. Buatlah contoh aplikasi exception try bersarang,
10. Jelaskan listing dibawah ,
public class contohsatudelapan {
public static void test(int a, int b){
try{
int c = a/b;
System.out.println("Hasil bagi:" +c);
int[] Arr = {1,2,3,4,5};
Arr[10] = 11;
}catch (ArithmeticException ae){
System.out.println("terdapat pembagian
dengan 0");
System.out.println(ae);
}catch (ArrayIndexOutOfBoundsException obe){
System.out.println("Indeks di luar
rentang");
System.out.println(obe);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
test (4, 0);
System.out.println();
test (12,4);
}
}

Anda mungkin juga menyukai