Belajar Pemrograman Java Dari Dasar

Memahami Checked dan Unchecked Exception Pada Program Java

Pada pembahasan mengenai tipe-tipe exceptions sudah dibahas sedikit pada bagian akhir mengenai topik ini. Namun, agar lebih jelas, pada kesempatan kali ini kembali di bahas lebih detail. Terdapat dua kategori exceptions dalam bahasa pemrograman Java, yaitu:

  • Checked 
  • Unchecked
Checked dan Unchecked Exception Program Java

A. Checked Exceptions

Checked exceptions merupakan exception yang diketahui pada saat compile time. Namun, ada juga exceptions yang dicek pada saat compile time, oleh karena itu mereka disebut dengan compile time exceptions.

Compile time error akan terjadi bila exceptions ini tidak ditangani dengan menggunakan blok try-catch atau dengan menggunakan keyword throws.

Jadi class manakah pada Java yang termasuk kedalam checked exceptions?

Semua subclass dari java.lang.Exception kecuali subclass dari RunTimeException adalah checked exceptions.

Contoh kode program di bawah ini melemparkan checked exception. Namun, tidak ditangani dengan baik. Maka compile time error akan terjadi.
Pernyataan pada line 5 di atas akan melemparkan ClassNotFoundException yang termasuk dalam checked exception pada saat compile time, misalkan seperti di bawah ini:

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
                     Unhandled exception type ClassNotFoundException
                     at TestCheckedException.main(TestCheckedException.java:5)

Oleh karena itu, pernyataan ini harus berada dalam blok try-catch atau dalam deklarasi main method dengan keyword throws.


Berikut ini adalah contoh untuk menangani exception tersebut:

atau bisa juga dengan:


B. Unchecked Exceptions

Unchecked exception merupakan exception yang terjadi pada saat runtime. Pada saat compile time semuanya akan berjalan normal, namun ketika runtime maka akan terlempar exception ini. Oleh sebab itulah uncheked exceptions disebut juga dengan runtime exceptions.

Semua subclass dari calss Error dan RuntimeException adalah unchecked exceptions.

Compile time error tidak akan terjadi jika ada pernyataan dalam program yang melemparkan unchecked exception ini. meskipun anda tidak menanganinya dengan blok try-catch atau keyword throws. Bagaimanapun, program akan gagal ketika dijalankan walaupun akan sukses pada saat di compile.

Oleh karena itu, untuk mencegah program diberhentikan secara prematur ketika program Java anda dijalankan, maka anda harus menangani exception ini dengan baik.

Contoh:

Ketika program di atas di eksekusi, maka akan melemparkan NumberFormatException yang tidak ditangani dengan baik. Akibatnya adalah program akan terhenti dengan buruk.

Untuk mengatasinya, anda dapat menangani exception ini dengan menggunakan blok try-catch, seperti di bawah ini:

Itulah pembahasan mengenai checked dan unchecked exception pada program Java beserta dengan contoh sederhana yang mudah di pahami. Semoga bisa membantu anda untuk belajar Java.

Share on Facebook
Share on Twitter
Share on Google+

Tempat berbagi pengetahuan untuk bahasa pemrograman Java

Related : Memahami Checked dan Unchecked Exception Pada Program Java