SELAMAT DATANG DI RAHMATANG BLOG

EXCEPTIONS DAN ASSERTIONS

Pertemuan 2 - Exceptions dan Assertions

Apa itu Exception?

Bugs dan error dalam sebuah program sangat sering muncul meskipun program tersebut dibuat oleh programmer berkemampuan tinggi. Untuk menghindari pemborosan waktu pada proses error-checking, Java menyediakan mekanisme penanganan exception. Exception adalah singkatan dari Exceptional Events. Kesalahan (errors) yang terjadi saat runtime, menyebabkan gangguan pada alur eksekusi program. Terdapat beberapa tipe error yang dapat muncul. Sebagai contoh adalah error pembagian 0, mengakses elemen di luar jangkauan sebuah array, input yang tidak benar dan membuka file yang tidak ada.

Error dan Exception Classes

Seluruh exceptions adalah subclasses, baik secara langsung maupun tidak langsung, dari sebuah root class Throwable. Kemudian, dalam class ini terdapat dua kategori umum : Error class dan Exception class.

Exception class menunjukkan kondisi yang dapat diterima oleh user program. Umumnya hal tersebut disebabkan oleh beberapa kesalahan pada kode program. Contoh dari exceptions adalah pembagian oleh 0 dan error di luar jangkauan array.

Error class digunakan oleh Java run-time untuk menangani error yang muncul pada saat dijalankan. Secara umum hal ini di luar control user karena kemunculannya disebabkan oleh run-time environment. Sebagai contoh adalah out of memory dan harddisk crash.

Contoh

Perhatikan contoh program berikut :

             class DivByZero {
                   public static void main(String args[]) {
                          System.out.println(3/0);
                          System.out.println(“Cetak.”);
                   }
             }

Jika kode tersebut dijalankan, akan didapatkan pesan kesalahan sebagai berikut :

Exception in thread "main" java.lang.ArithmeticException: / by
zero at DivByZero.main(DivByZero.java:3)

Pesan tersebut menginformasikan tipe exception yang terjadi pada baris dimana exception itu berasal. Inilah aksi default yang terjadi bila terjadi exception yang tidak tertangani. Jika tidak terdapat kode yang menangani exception yang terjadi, aksi default akan bekerja otomatis. Aksi tersebut pertama-tama akan menampilkan deskripsi exception yang terjadi. Kemudian akan ditampilkan stack trace yang mengindentifikasi method dimana exception terjadi. Pada bagian akhir, aksi default
tersebut akan menghentikan program secara paksa. Bagaimana jika Anda ingin melakukan penanganan atas exception dengan cara yang berbeda? Untungnya, bahasa pemrograman Java memiliki 3 keywords penting dalam penanganan exception, yaitu try, catch dan finally.

Menangkap Exception

Try-Catch

Seperti yang telah dijelaskan sebelumnya, keyword try, catch dan finally digunakan dalam menangani bermacam tipe exception. 3 Keyword tersebut digunakan bersama, namun finally bersifat opsional. Akan lebih baik jika memfokuskan pada dua keyword pertama, kemudian membahas finally pada bagian akhir.

Berikut ini adalah penulisan try-catch secara umum :

            try {
                   <code to be monitored for exceptions>
            } catch (<ExceptionType1> <ObjName>) {
                   <handler if ExceptionType1 occurs>
            }
            ...
            } catch (<ExceptionTypeN> <ObjName>) {
                   <handler if ExceptionTypeN occurs>
            }

Petunjuk Penulisan Program :
Blok catch dimulai setelah kurung kurawal dari kode try atau catch terkait. Penulisan kode dalam blok yang dimasukkan.

Gunakan contoh kode tersebut pada program DivByZero yang telah dibuat sebelumnya :

           class DivByZero {
                 public static void main(String args[]) {
                        try {
                              System.out.println(3/0);
                              System.out.println(“Cetak.”);
                        } catch (ArithmeticException exc) {
                              //Reaksi atas kejadian
                              System.out.println(exc);
                        }
                        System.out.println(“Setelah Exception.”);
                }
           }

Kesalahan pembagian dengan bilangan 0 adalah salah satu contoh dari ArithmethicException. Tipe exception kemudian mengindikasikan klausa catch pada class ini. Program tersebut menangani kesalahan yang terjadi dengan menampilkan deskripsi dari permasalahan.

Output program saat eksekusi akan terlihat sebagai berikut :

java.lang.ArithmeticException: / by zero
After exception.


Selengkapnya, download
SHARE

Rahmatang Lil Alamin

Hay sahabat Blogger. Terima kasih sudah berkunjung di blog saya.. Semoga bermanfaat yah :)

  • Image
  • Image
  • Image
  • Image
  • Image
    Blogger Comment
    Facebook Comment

0 komentar:

Posting Komentar

luvne.com ayeey.com cicicookies.com mbepp.com tipscantiknya.com kumpulanrumusnya.comnya.com