MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Di blok catch, tangkap semua Exception menggunakan catch (Exception e).
  • Gunakan referensi objek Exception (e) dan metode getClass() di dalam blok catch untuk menampilkan tipe (kelas) pengecualian yang tertangkap.
  • Gunakan referensi objek Exception (e) dan metode getMessage() untuk mencetak pesan pengecualiannya.
  • Cetak "stack trace" ke output stream menggunakan referensi objek Exception (e) dan metode printStackTrace().

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
            ____.____();
		}
	}
}
Edit dan Jalankan Kode