try/catch
- Java kursu
- Başlangıç
- Ders 106/116
- 5 dk
try/catch ile istisna yakalamayı öğrenirsin.
try/catch ile hata yakala
Bir istisna (exception) programın normal akışını bozan beklenmedik durumdur. try bloğu hataya açık kodu sarar; catch ise hatayı yakalayıp yönetir.
try {
int result = 10 / 0;
} catch (ArithmeticException e) {
System.out.println("Sıfıra bölme");
}İstisna fırlatınca try bloğu kesilir ve uygun catch devreye girer. Yakalanmazsa program çöker. catch parantezindeki tür, yakalanacak istisnayı belirler. e değişkeni istisna ayrıntılarını taşır.
catch parametresi ve türü
catch parantezindeki tür, hangi istisnaların yakalanacağını belirler. ArithmeticException yalnızca aritmetik hataları yakalar; başka tür gelirse catch devreye girmez.
catch (ArithmeticException e) {
System.out.println(e.getMessage());
}getMessage() istisnanın kısa açıklamasını döndürür. e değişkeninin adı serbesttir; ex veya err de yazılabilir. Türü genel tutmak (ör. Exception) daha çok hatayı yakalar ama ayrıntıyı kaybeder; bu yüzden olabildiğince özel tür seçmek iyidir.
Uygulama Sıfıra bölmeyi yakala
int a = 10; int b = 0; değerlerini böl. try içine al; ArithmeticException yakala ve Sıfıra bölme yazdır.
Başlangıç kodu
public class Main {
public static void main(String[] args) {
int a = 10;
int b = 0;
// bölme işlemini dene, hatayı yakala, mesaj yaz
}
}Örnek çözüm
try {
int result = a / b;
System.out.println(result);
} catch (ArithmeticException e) {
System.out.println("Sıfıra bölme");
}Beklenen çıktı
Sıfıra bölme
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 try bloğunda istisna fırlatıldığında ne olur?
- try bloğu devam eder
- Program anında çöker
- Hiçbir şey olmaz
- Uygun catch bloğu devreye girer Doğru cevap
Açıklama: istisna fırlatılınca try kesilir ve türü eşleşen catch çalışır.
2 catch bloğunu tamamla
try {
int r = 10 / 0;
} ____ (ArithmeticException e) {
System.out.println("Hata");
}
try {
int r = 10 / 0;
} catch (ArithmeticException e) {
System.out.println("Hata");
}
Açıklama: catch bloğu try'dan sonra gelir ve istisnayı yakalar.
3 İstisnayı senaryoyla eşleştir
| Kavram | Anlamı |
|---|---|
ArithmeticException |
Sıfıra bölme |
NullPointerException |
null nesne |
ArrayIndexOutOfBoundsException |
Dışında indeks |
NumberFormatException |
Geçersiz sayı |