/**
* Menangani eksepsi
*
* @author arepide, [arepide.blogspot.com]
* @version 1.00
*/
public class Eksepsi {
/**
* Method pembagian integer
*
* @param i Integer pembilang
* @param j Integer penyebut
* @return Integer pembagian i dan j
*/
public static int pembagian(int i, int j)
throws ArithmeticException {
if (j == 0) {
throw new ArithmeticException("Pembagian dengan 0");
}
return i/j;
}
/**
* Method main
*/
public static void main(String[] args) {
int i = 10;
int j = 0;
try {
// Baris berikut akan membangkitkan eksepsi, karena
// pembagian dengan nol, sehingga perlu ditangkap
int n = i / j;
// Baris berikut tidak akan dieksekusi
System.out.println(n);
} catch (ArithmeticException ex) {
System.out.println("ArithmeticException\n" + ex.getMessage());
} catch (Exception ex) {
System.out.println("Eksepsi ditangkap\n" + ex.getMessage());
} finally {
System.out.println("Ini selalu dieksekusi");
}
try {
int l = pembagian(2, 0);
System.out.println(l);
} catch (ArithmeticException ex) {
System.out.println("Nama File: " +
ex.getStackTrace()[0].getFileName());
System.out.println("Nama Kelas: " +
ex.getStackTrace()[0].getClassName());
System.out.println("Nama Method: " +
ex.getStackTrace()[0].getMethodName());
System.out.println("Baris ke-" +
ex.getStackTrace()[0].getLineNumber());
}
}
}