Mulai sekarangMulai 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 merupakan bagian dari kursus

Tipe Data dan Exception di Java

Lihat Kursus

Instruksi 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 langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

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