Sabtu, 15 Januari 2011


EXCEPTION
Exception merupakan suatu objek error khusus yang dibuat ketika terjadi kesalahan pada suatu program. Setleh suatu objek exception dibuat oleh java, objek tersebut dikirimkan ke program, proses ini disebut throwing an exception. Objek exception tersebut kemudian diterima oleh program, dan penganganan exception selanjutnya terserah pada program.

Penanganan exception dalam java dibuat dengan menuliskan kode program exception-handling pada source code. Exception-handling berguan utnuk mencegah program menjai ‘Hang’. Code program exception handling secara umum terdiri dari tiga bagian yaitu try, catch, dan finally.
ü  Try
Adalah kode-kode program yang mungkin dapat menimbulkan exception.
ü  Catch
Adalah kode-kode program yang harus dilakukan apabila terjadi exceprion.
ü  Finally
Adalah bersifat optional (boleh tidak menggunakan blok finally) kode-kode yang tetap dilakukan baik terjadi exception maupun tidak terjadi exception.


Kategori error dalam pemrograman adalah:
1.      Syntax error
Error yang terjadi apabila java compiler menemukan kesalahan syntax atau aturan-aturan lainnya dalam program.
2.     Runtime Error
Error yang terjadi karena faktor external, seperti adanya pembagian dengan nol, input yang tidak sesuai dengan type yang idminta, dan sebagainya. Kondisis ini dikenal sebagai exception (pengecualian pada eksepsi).
3.     Logic Error
Error yang terjadi karena kesalahan logika pemrogram. Misalnya hasil pembagian dua bilangna diberi tipe data int. hal ini menyebabkan hasil tidak valid karena ada bagian koma desimal yang hilang.


Contoh program exception:
a.     Class tanpaexception.java;
class tanpaexception{
public static void main (String[]args){
int nilai=Integer.parseInt(args[0]);
//statement diatas membutuhkan exception handling
System.out.println("Nailai yang dimasukan: "+nilai);
}
}


Output:

               
b.     Class cobaexception;
class cobaexception{
public static void main(String[]args){
int nilai=0;
try{
nilai=Integer.parseInt(args[0]);
//dalam blok exception-handling
}catch (Exception e){
System.out.println("Harus integer");
}
finally{
System.out.println("Nilai anda: "+nilai);
}
System.out.println("selesai..");
}
}

               
                                Output:



c.     Class pembagian.java;
class pembagian{
public static void main(String[]args){
int a=0;
int b=0;
int c=0;
try{
a=Integer.parseInt(args[0]);
b=Integer.parseInt(args[1]);
System.out.println("nilai a: "+a);
System.out.println("nilai b: "+b);
c=a/b;
}catch (NumberFormatException nfe){
System.out.println("bukan angka. Inisialisasi dengan nilai 0");
}catch (ArithmeticException ae){
System.out.println("pembagi tidak boleh 0");
b=1;
//karena terjadi exception maka harus dilakukan pembagian lagi.
c=a/b;
System.out.println("Inisialisasi nilai b dengan nilai 1");
}finally{
System.out.println("Nilai a: "+a);
System.out.println("Nilai b: "+b);
System.out.println("Nilai  : "+c);
}
System.out.println("selesai..");
}
}


                                Output:



d.     Class tesinputdata.java;
import java.io.*;
class input{
public static int bacaData(){
BufferedReader br=new
BufferedReader (new InputStreamReader(System.in));
int angka=0;
try{
String input=br.readLine();
angka=Integer.parseInt(input);
}catch (Exception ex){
System.out.println("input salah. Insialisasi dengan nilai "+angka);
}finally{
return angka;
}
}
}
public class tesinputdata{
public static void main(String[]args){
System.out.println("masukan angka: ");
int i=input.bacaData();
System.out.println("angka yang anda masukan adalah "+i);
}
}


                 
a.     Jika dimasukan huruf, maka outputnya:



b.     Jika yang dimasukan angka, maka outputnya:

Tidak ada komentar:

Posting Komentar