Exception Handling
Tujuan diskusi:
Mahasiswa mampu mengimplementasi exception handling dalam
pemrograman dengan menggunakan bahasa Java.
Mahasiswa mampun menuliskan user-defined exception untuk suatu
kasus tertentu.
idx_1 = Integer.parseInt(args[0]);
idx_2 = Integer.parseInt(args[1]);
}
}
Buka menu:
P a g e 0 | 12
Run > Set Project Configuration > Customize
Tekan tombol OK. Eksekusi program sesuai dengan table yang diberikan.
P a g e 1 | 12
6. Kode program dengan exception .
fungsi Kegunaan
public String getMessage() Returns a detailed message about the exception that has occurred.
public String toString() Returns the name of the class concatenated with the result of
getMessage().
public void printStackTrace() Prints the result of toString() along with the stack trace to System.err,
the error output stream.
------------------------------------------------------------------------------------------------------------
-
P a g e 2 | 12
Diskusi 8.2: ExceptionHandling 02
1. Tetap menggunakan project pada diskusi 8.1 di atas, lakukan eksekusi
dengan memberikan argument e 2, seperti berikut ini:
4. Ubah kode program hasil diskusi 8.1 diatas, sehingga exception yang
terjadi dapat ditangani.
P a g e 3 | 12
P a g e 4 | 12
Diskusi 8.3: User-defined Exception 01
1. Buatlah project dengan nama Diskusi83
System.out.println("Circle created");
9. Jika code anda benar, maka hasil yang didapat adalah Circle created
P a g e 5 | 12
10. Bagaimana jika kita ingin membatasi nilai radius yang diinputkan tidak
boleh 0 (nol) atau negative? Untuk melakukan hal ini kita bisa menggunakan
user defined exception sebagai berikut.
private double r;
r = radius;
private double r;
r = radius;
13. Modifikasilah konstruktor yang ada pada kelas Circle dengan code
berikut.
public Circle (double centreX, double centreY, double radius ) throws
InvalidRadiusException, NegativeRadiusException
if (radius < 0 )
P a g e 6 | 12
{
else if (radius == 0 )
else
try {
System.out.println("Circle created");
catch(InvalidRadiusException e)
e.printError();
catch(NegativeRadiusException e)
e.printError();
P a g e 7 | 12
15. Eksekusilah kode program tersebut dengan mengisikan pada
konstruktornya
Circle c1 = new Circle(10, 10, -5);
17. Catat hasil pengamatan anda dan perbedaanya pada instruksi nomor
14 dan 15.
P a g e 8 | 12
Diskusi 8.4: User-defined Exception 02
1. Buatlah project dengan nama Diskusi84
2. Buatlah 3 kelas yang ada dalam hirarki pewarisan pada gambar 8.1, yaitu
kelas Bentuk2D, Segitiga, PersegiPanjang, Lingkaran, dan
Bujursangkar. Atribut, tipe atribut beserta dengan fungsi yang ada pada
masing-masing kelas dapat dilihat pada gambar 8.1 tersebut. Kode
program dapat di-download di situs kuliah.
P a g e 9 | 12
6. Buatlah kelas UserDefinedExceptionHandlingTest berisi kode program
berikut.
import java.util.*;
public class UserDefinedExceptionHandlingTest {
public static void main(String[] args) {
try {
double panjang, lebar;
PersegiPanjang pp;
}
catch (InvalidWideLengthException e1) {
e1.printError();
}
}
}
P a g e 10 | 12
PersegiPanjang pp;
Lingkaran ls;
ls = new Lingkaran(radius);
b = ls;
b.display();
}
catch (InvalidWideLengthException e1) {
e1.printError();
}
catch (InvalidRadiusException e2) {
e2.printError();
}
}
}
Tuliskan disini.
P a g e 11 | 12