kodbankasi http://kodbankasi.org/kodbankasi

Java İstisna Yönetimi(exception)

istisna(exception) çalışma zamanında beklenmeyen bir hata ile karşılaşılan durumlarda kullanılır. Exception kullanarak beklenmedik durumların programınızın bir hata ile sonlandırılmasını önleyebilirsiniz. Java bu hataları yönetmek için try,catch,throw,throws ve finaly sözcüklerini kullanır.

Bir uygulama yazarken kullanıcının yapabileceği hataları da düşünerek programınızı ona göre yazmanız programınızın sağlamlığı açısından önemlidir.Örneğin kullanıcın istenmeyen türde veri girişi yaptığı durumlarda istisna yönetimi kullanılmazsa program hata vererek kapanabilir.Eğer siz daha önceden kullanıcının bu tür hatalar yapabileceğini düşünüp programınızı ona göre yazarsanız programınız herhangi bir sorun yaşamadan yapması gereken işlemi başarı ile gerçekleştirecektir.

Try-Catch Bloğu

try{
//hata kontrolü yapılır
}
catch(Exception e){
// yakalanan hata olursa çalışıcak kod
}

Yukarıda gördüğünüz gibi try bloğu içinde bir hata olması durumunda catch bloğu devreye giriyor.Ve catch bloğu içine yazılan kodlar çalışıyor.

import java.util.Scanner;
public class Istisnalar {
int sayial() {
Scanner input = new Scanner(System.in);
int girilen_sayi;
System.out.println("Sayi gir");
String girdi = input.next();
try{ girilen_sayi = Integer.parseInt(girdi);}
catch(NumberFormatException ex){
System.out.println("bir sayı giriniz");
return -1;}
return girilen_sayi;}
public static void main(String[] args) {
Istisnalar i = new Istisnalar();
i.sayial();
}}

örnek programımızda kullanıcıdan bir sayı girilmesi isteniyor.İnteger harici bir tipte değer girmesi durumunda catch bloğu çalışır.Ve uyarı verir.

Throws kullanımı


Yukarıda anlatılan try-catch bloğunda istisna metodun içinde gerçekleşmiştir. Throws anahtar kelimesi kullanıldığı zaman ise istisna metodun çağrıldığı seviyede çözümlenmesi istenir. Throws kullanımı aşağıdaki gibidir.

public class throwskullanimi {
public static void main(String args[])throws ArithmeticException{
try{
int x=3;
int y=0;
int sonuc = x/y;
throw new ArithmeticException("deneme");
}
catch(ArithmeticException Hata){
System.out.print("aritmetik Hata Var");
} } }

Throw kullanımı

class throwornegi {
public static void main(String args[]){
try{
int a=4;
int b=0;
int sonuc = a/b;
}
catch(ArithmeticException Istisna){
throw Istisna;
} } }

Finally kullanımı

Yazıyı bastan sona okuduysanız programınızın istisna ile karşılaşması durumunda kodların geri kalan kısmının çalışmadan hata verdiğini anlamış olmalısınız.Eğer hem istisna yönetimi ile gerekli hatanın verilmesini hemde kodların geri kalan kısmının çalışmasını istiyorsanız finally anahtar kelimesini kullanmanız gereklidir.

import java.util.Scanner;
public class finallykullanmi {
public static void main(String args[]){
Scanner input = new Scanner(System.in);
int sayi,bölen;
System.out.println("bölmek istediginiz sayiyi giriniz");
sayi=input.nextInt();
System.out.println("bölen giriniz");
bölen=input.nextInt();
try{
if(bölen>=0){
System.out.println("Sonuc"+sayi/bölen);
}
else{
throw new ArithmeticException("hata");
}
}
catch(ArithmeticException ex){
System.out.println("bölen sıfır olamaz");
}
finally{
System.out.println("Program sonlandi");
} } }

Gördüğünüz gibi programımız ArithmeticException hatası alsa bile finally bloğumuz içindeki kodlar çalışıcaktır.

Bir önceki yazımız olan Javada ++ ve -- operatörleri başlıklı yazımızı da inceleyebilirsiniz.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak.

Bu yazı da ilginizi çekebilir !

Java – Enumarations

Enumarations : numaralandırma bir sınıf tipi gibi tanımlanarak kullanılan veri türleridir.enumaration tanımlanırken enum anahtar sözcüğü ...