BaşlayınÜcretsiz başlayın

Exception nesnesi

Bir kod parçasının birden fazla exception fırlatması hiç de alışılmadık değildir. Bu durumu yönetmenin bir yolu, tüm exception'ları try-catch ile yakalayıp ardından hangi sorunun gerçekleştiğini belirlemek ve problemi debug etmek için Exception nesnesinden bilgi çıkarmaktır.

Burada, SplitTheBill uygulamasını tekrar düzenleyip genel bir Exceptioncatch ile yakalayacak ve problemin nedenini anlamak için Exception nesnesindeki verileri kullanacaksın. Exception nesneleri, probleme götüren metotların izini de içeren pek çok yararlı bilgi barındırır.

Bu egzersiz, kursun bir parçasıdır

Java'da Veri Türleri ve İstisnalar

Kursa Göz Atın

Egzersiz talimatları

  • Catch bloğunda, herhangi bir Exceptioncatch (Exception e) kullanarak yakala.
  • Catch bloğunda Exception nesnesi ve referansını (e) ile getClass() metodunu kullanarak yakalanan exception'ın türünü (sınıfını) göster.
  • Exception nesnesi referansını (e) ve getMessage() metodunu kullanarak exception mesajını yazdır.
  • Exception nesnesi referansını (e) ve printStackTrace() metodunu kullanarak "stack trace" çıktısını çıktı akışına yazdır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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
            ____.____();
		}
	}
}
Kodu Düzenle ve Çalıştır