Objek Exception
Tidak jarang suatu potongan kode melempar beberapa pengecualian. Salah satu cara menangani situasi ini adalah dengan try-catch semua pengecualian lalu menggunakan objek exception untuk mengetahui masalah yang terjadi dan menampilkan informasi dari Exception guna men-debug masalah tersebut.
Di sini, Anda akan memodifikasi aplikasi SplitTheBill lagi untuk catch sebuah Exception generik dan menggunakan data dari objek Exception untuk memahami penyebab masalah. Objek Exception berisi banyak informasi berguna, termasuk jejak metode yang mengarah pada masalah.
Latihan ini adalah bagian dari kursus
Tipe Data dan Exception di Java
Petunjuk latihan
- Di blok catch, tangkap semua
Exceptionmenggunakancatch (Exception e). - Gunakan referensi objek
Exception(e) dan metodegetClass()di dalam blokcatchuntuk menampilkan tipe (kelas) pengecualian yang tertangkap. - Gunakan referensi objek
Exception(e) dan metodegetMessage()untuk mencetak pesan pengecualiannya. - Cetak "stack trace" ke output stream menggunakan referensi objek
Exception(e) dan metodeprintStackTrace().
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
class SplitTheBill {
public static void main(String[] args) {
BigDecimal bill = new BigDecimal(125.50);
computeEachBill(bill, 5);
computeEachBill(bill, 0);
}
public static void computeEachBill(BigDecimal bill, int people) {
try {
BigDecimal numPeople = new BigDecimal(people);
BigDecimal individualBill = bill.divide(numPeople);
System.out.println("Bill for each person is: " + individualBill);
// Catch any exception
} catch (____ ____) {
System.out.println("You didn't provide a positive number of people to split the bill among.");
// Print the type (class) of exception
System.out.println("Type of exception: " + ____.____());
// Print the exception message
System.out.println(____.____());
// Print the stack trace
____.____();
}
}
}