Exception, Java’da yapılan hataları, daha rahat görmemizi sağlayan kod dizisidir. Try – catch bloğu ise, try kısmına yazdığımız kodlara uymayanları yani hataları, catch ile yakalayıp düzeltmemizi sağlar.
Try – Catch dizininin çalışma prensibi şu şekildedir.
try{
// Normal Şartlar Altında Çalışması Gereken Kod Dizini
}
catch(){
// Hata Oluştuğunda Uygulanacak Kod Dizini
}
finally{
//Hata Olsa Da Olmasa Da Çalışması Gereken Kod Dizini
}
Bir örnek yapalım bununla ilgili. Klavyeden iki sayı girelim ve birinci sayı ikinci sayıya bölündüğünde oluşan değeri ekrana yazdıralım.
import java.util.Scanner; public class Try_Catch_Kullanımı { public static void main(String[] args) { // TODO Auto-generated method stub try{ Scanner klavye=new Scanner(System.in); System.out.println("Birinci Sayıyı Giriniz :"); int sayi1=klavye.nextInt(); System.out.println("İkinci Sayıyı Giriniz"); int sayi2=klavye.nextInt(); double sonuc=sayi1/sayi2; } catch(Exception Hata){ System.out.println("Karşılaşılan Hata : " + Hata); } } }
Kodlarımızı bu şekilde oluşturduk. Şimdi yapılacak hataları gözden geçirip, konsolda da bu hataları nasıl belirttiğine bakalım.
NOT: Catch metodunda hatayı yakalaması için exception kodunu kullanıyoruz. Exception kodundan sonra istediğimiz kelimeyi ya da harfi yazabiliriz. Ancak ekrana hatayı yazdırmak istediğimizde de tanımladığımız kelimeyi kullanmamız gerekir.
Birinci hatamız:
İkinci sayıyı int değerinde girmek yerine string olarak girdik. Bu hatanın karşılığı ise Java’da InputMismatchException metodudur.
İkinci hatamız:
İkinci sayıyı 0 olarak girdiğimizde tanımsız bir sonuç elde edileceğinden resimdeki gibi hata verecektir. Bu hatanın karşılığı ise Java’da ArithmeticException metodudur.
Try – Catch metodlarını başka şekilde de kullanabiliriz. Aynı örneği biraz değiştirerek yazalım şimdi de.
import java.util.InputMismatchException;
import java.util.Scanner;
public class TryCatch_Ornekleri {
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
Scanner klavye=new Scanner(System.in);
System.out.println("Birinci Sayıyı Giriniz");
int sayi1=klavye.nextInt();
System.out.println("İkinci Sayıyı Giriniz");
int sayi2=klavye.nextInt();
double bolum=sayi1/sayi2;
} catch(ArithmeticException Hata){
System.out.println("Bir Sayının Sıfıra Bölümü Tanımsızdır. Lütfen Tekrar Sayı Giriniz");
} catch(InputMismatchException Hata){
System.out.println("Lütfen Sayı Değeri Giriniz. Girilen Harf Belirtilen İşlemi Yapmak İçin Uygun Değildir.");
}
}
}
NOT: InputMismatchException kodlarının import edilmesi gerekir. Yapılmadığında hata verecektir. Bu yüzden catch metodunda bu hatadan bahsedildiğinde kodların yan tarafında belirlenen uyarıya basıp import edilmesini sağlayabilirsiniz.
İşlemlerimizi bu kodları yazdıktan sonra tekrarlayalım.
Birinci hatamız:
İkinci hatamız:
Java’da hata yakalama işlemlerini bu şekilde gerçekleştirebilirsiniz. İyi çalışmalar 🙂


Leave a Reply