7
Nesneye Yönelik Prog. Giriş. ve Operatörler Exceptions (İstisnalar) İstisnalar nasıl oluşur? Bir kodda yazım hatası olmayabilir. Bu o kod çalışırken hata olmayacağı anlamına gelmez. Çalışma zamanında (run-time) meydana gelen hatalar exception(istisna) ’dır. Örneğin 5 elemanlı dizimiz var, biz altıncı elemana ulaşmak istediğimizde exception oluşur. Exception’lar oluştuğunda program akışı kesilir. Bu 1 A-B Şubesi I.Ö. Öğr.Gör. Kenan KILIÇASLAN Hafta 14 31-12-2010

İstisnalar

Embed Size (px)

DESCRIPTION

Nesneye Yönelik Programlama

Citation preview

Page 1: İstisnalar

Nesneye Yönelik Prog. Giriş. ve Operatörler

Exceptions (İstisnalar)

İstisnalar nasıl oluşur?

Bir kodda yazım hatası olmayabilir. Bu o kod çalışırken hata olmayacağı anlamına gelmez. Çalışma zamanında (run-time) meydana gelen hatalar exception(istisna) ’dır.

Örneğin 5 elemanlı dizimiz var, biz altıncı elemana ulaşmak istediğimizde exception oluşur.

Exception’lar oluştuğunda program akışı kesilir. Bu hataya rağmen akışı sürdürmek isteyebiliriz. Bu exception yönetimi ile mümkündür.

Exception yada istisnayı yönetmek aşağıdaki kodu yazarız.

try1

A-B Şubesi I.Ö. Öğr.Gör. Kenan KILIÇASLANHafta 14 31-12-2010

Page 2: İstisnalar

Nesneye Yönelik Prog. Giriş. ve Operatörler

{//istisna oluşturabilecek kod.

} catch (exception e){

//istisna oluştuğunda çalışacak kod.}

try .. catch bloğu çalışma zamanında meydana gelen her türlü hatayı yakalar. Try içindeki herhangi bir satırda hata oluştuğunda akış, catch bloğuna geçer. Burada Exception e , oluşan hatanın bulunduğu nesne.

İstisnaya neler sebep olabilir? Açılmak istenen dosya

bulunmayabilir Ağ bağlantısı kopmuş olabilir Uygulamaya kullanıcı beklenmeyen

bir veri girmiş olabilir Yazılmak istenen dosya, başka

program tarafından açılmış olabilir.

2A-B Şubesi I.Ö. Öğr.Gör. Kenan KILIÇASLANHafta 14 31-12-2010

Page 3: İstisnalar

Nesneye Yönelik Prog. Giriş. ve Operatörler

Diziye, boyutundan büyük elemana erişilmek istenebilir.

Yukarıdaki kodda , dizinin 5. elamana ulaşmaya çalıştı. Bu nedenle exception oluştu.

public class istisnayonetimiuygulama { public istisnayonetimiuygulama() { }

3A-B Şubesi I.Ö. Öğr.Gör. Kenan KILIÇASLANHafta 14 31-12-2010

Page 4: İstisnalar

Nesneye Yönelik Prog. Giriş. ve Operatörler

public static void main(String[] args) { int[] sayi = {1,2,3,4}; System.out.println("Başlangıç"); for (int i=0;i<5; i++) { try{ System.out.println("Sayı-->"+sayi[i]); } catch(ArrayIndexOutOfBoundsException ex) { System.out.println("Hata oluştu:"+ex.toString()); } } System.out.println("Bitiş"); }}

public class istisnayonetimiuygulama { public istisnayonetimiuygulama() { }

4A-B Şubesi I.Ö. Öğr.Gör. Kenan KILIÇASLANHafta 14 31-12-2010

Page 5: İstisnalar

Nesneye Yönelik Prog. Giriş. ve Operatörler

public static void main(String[] args) { int[] sayi = {1,2,3,4}; System.out.println("Başlangıç"); for (int i=0;i<5; i++) { try{ System.out.println("Sayı-->"+sayi[i]); } catch(Exception ex) { System.out.println("Hata oluştu:"+ex.toString()); } } System.out.println("Bitiş"); }}

5A-B Şubesi I.Ö. Öğr.Gör. Kenan KILIÇASLANHafta 14 31-12-2010