Wednesday, April 25, 2012

Exception Handling pada Java II


Exception Handling Lanjutan
Kata kunci throw digunakan di program untuk melempar (throw) exception secara eksplisit. Bentuk umum kalimat adalah : Throw ThrowableInstance; Instan Throwable harus merupakan obyek dengan tipe Throwable atau subkelas dari Throwable. Terdapat dua cara untuk memperoleh obyek Throwable, yaitu :
1. Menggunakan parameter di klausa catch
2. Menciptakan salah satu dengan menggunakan operator new()
Eksekusi program akan dihentikan segera setelah kalimat throw, kalimat-kalimat setelah kalimat throw tidak dieksekusi. Java akan melakukan inspeksi blok try terdekat untuk menemukan catch yang cocok dengan dengan tipe exception yang dilempar. Jika Java menemukannya, maka kendali program ditransfer ke kalimat itu. Jika tidak ditemukan, maka Java akan melakukan penelusuran ke blok berikutnya dan bila tetap tidak ditemukan, maka penanganan exception secara default akan menghentikan programnya.
Penggunaan kata kunci throws berhubungan erat dengan penggunaan exception yang dicek oleh Java. Klausa throws mendaftarkan tipe-tipe exception yang dapat dilempar method. Hal ini diperlukan agar diketahui semua exception yang mungkin dilempar method atau subkelasnya, kecuali tipe Error atau RunTimeException yang dilakukan sistem Java secara otomatis bila menemui pelangggaran aturan-aturan Java. Semua exception yang hendak dilempar method harus dideklarasikan di klausa throws. Jika method melemparkan exception yang tidak dideklarasikan di deklarasi method, maka kompilator akan memberi pesan kesalahan.
Jenis Exception Handling
Keyword Throw Disamping menangkap exception, Java juga mengijinkan seorang user untuk
melempar sebuah exception. Sintax pelemparan exception cukup sederhana. Dapat kita lihat sebagai berikut : throw; Contoh :
/* Melempar exception jika terjadi kesalahan input */
class ThrowDemo
{
}
public static void main(String args[])
{
String input = “invalid input”;
try
{
if (input.equals(“invalid input”))
{
throw new RuntimeException(“throw demo”);
}
else
{
System.out.println(input);
}
System.out.println(“After throwing”);
}
catch (RuntimeException e)
{
}
}
System.out.println(“Exception caught here.”);
System.out.println(e);
}
Keyword Throws Jika sebuah method dapat menyebabkan sebuah exception namun tidak menangkapnya, maka digunakan keyword throws. Aturan ini hanya berlaku pada checked exception. Anda akan mempelajari lebih lanjut tentang checked exception dan unchecked exception pada bagian selanjutnya, “Kategori Exception”. Berikut ini penulisan syntax menggunakan keyword throws :( ) throws{}. Sebuah method perlu untuk menangkap ataupun mendaftar seluruh exceptions yang mungkin terjadi, namun hal itu dapat menghilangkan tipe Error, RuntimeException, ataupun subclass-nya. Contoh berikut ini menunjukkan bahwa method myMethod tidak menangani ClassNotFoundException :
class ThrowingClass
{
static void myMethod() throws ClassNotFoundException
{
throw new ClassNotFoundException (“just a demo”);
}
}
class ThrowsDemo { public static void main(String args[])
{
try
{
ThrowingClass.myMethod();
}
catch (ClassNotFoundException e)
{
System.out.println(e);
}
}
Melakukan Input
Dalam JAVA input console dilakukan melalui pembacaan terhadap stream System.in. untuk mendapatkan karakter-karakter yang dimasukkan melalui keyboard ke dalam layar console, kita perlu membungkus System.in di dalam objek BufferedReader. Bentuk constructor dari BufferedReader :
• BufferedReader(Reader inputReader)
Agar objek dari inputStreamReader dapat dihubungkan dengan System.in, kita perlu menggunakan konstruktor
• InputStreamReader(InputStream inputStream)
Dengan demikian, untuk membuat objek BufferedReader yang dapat terhubung dengan keyboard, kita perlu menggunakan kode :
BufferedReader br = new BufferedReader(newInputStreamReader(System.in)); atau InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr);

0 comments:

Post a Comment