logo

Java'da İstisna İşleme

  1. İstisna işleme
  2. İstisna İşlemenin Avantajı
  3. İstisna sınıflarının hiyerarşisi
  4. İstisna Türleri
  5. İstisna Örneği
  6. Bir istisnanın oluşabileceği senaryolar

Java'da İstisna İşleme güçlülerden biridir çalışma zamanı hatalarını işlemek için mekanizma Böylece uygulamanın normal akışı korunabilir.

Bu derste Java istisnalarını, türlerini ve işaretli ve işaretsiz istisnalar arasındaki farkı öğreneceğiz.

internetin dezavantajları

Java'da İstisna Nedir?

Sözlük Anlamı: İstisna anormal bir durumdur.

Java'da istisna, programın normal akışını bozan bir olaydır. Çalışma zamanında fırlatılan bir nesnedir.

İstisna İşleme Nedir?

İstisna İşleme, ClassNotFoundException, IOException, SQLException, RemoteException vb. gibi çalışma zamanı hatalarını işlemeye yönelik bir mekanizmadır.

İstisna İşlemenin Avantajı

İstisna yönetiminin temel avantajı uygulamanın normal akışını sürdürmek için . Bir istisna normalde uygulamanın normal akışını bozar; bu yüzden istisnaları ele almamız gerekiyor. Bir senaryo düşünelim:

 statement 1; statement 2; statement 3; statement 4; statement 5;//exception occurs statement 6; statement 7; statement 8; statement 9; statement 10; 

Bir Java programında 10 ifade bulunduğunu ve 5. ifadede bir istisna oluştuğunu varsayalım; kodun geri kalanı yürütülmeyecektir, yani 6'dan 10'a kadar olan ifadeler yürütülmeyecektir. Ancak istisna işlemeyi yaptığımızda geri kalan ifadeler yürütülecektir. Bu nedenle istisna işlemeyi kullanıyoruz Java .

Biliyor musunuz?
  • Kontrol edilen ve kontrol edilmeyen istisnalar arasındaki fark nedir?
  • int data=50/0; kodunun arkasında ne olur?
  • Neden birden fazla catch bloğu kullanmalısınız?
  • Nihayet bloğun yürütülmeme ihtimali var mı?
  • İstisna yayılımı nedir?
  • throw ve throws anahtar sözcüğü arasındaki fark nedir?
  • Yöntem geçersiz kılma ile istisna işlemeyi kullanmanın 4 kuralı nedir?

Java İstisna sınıflarının hiyerarşisi

Java.lang.Throwable sınıfı, iki alt sınıf tarafından miras alınan Java İstisna hiyerarşisinin kök sınıfıdır: Exception ve Error. Java Exception sınıflarının hiyerarşisi aşağıda verilmiştir:

istisna işleme hiyerarşisi

Java İstisnalarının Türleri

Temel olarak iki tür istisna vardır: işaretli ve işaretsiz. Bir hata, denetlenmeyen istisna olarak kabul edilir. Ancak Oracle'a göre üç tür istisna vardır:

  1. Kontrol Edilen İstisna
  2. İşaretlenmemiş İstisna
  3. Hata
istisna işleme hiyerarşisi

İşaretli ve İşaretsiz İstisnalar Arasındaki Fark

1) Kontrol Edilen İstisna

RuntimeException ve Error dışında doğrudan Throwable sınıfını miras alan sınıflar, kontrol edilen istisnalar olarak bilinir. Örneğin, IOException, SQLException vb. İşaretlenen istisnalar derleme zamanında kontrol edilir.

2) Kontrol Edilmeyen İstisna

RuntimeException'ı miras alan sınıflar, denetlenmeyen istisnalar olarak bilinir. Örneğin, ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException, vb. Denetlenmeyen istisnalar derleme zamanında kontrol edilmez, ancak çalışma zamanında kontrol edilir.

3) Hata

Hata düzeltilemez. Bazı hata örnekleri OutOfMemoryError, VirtualMachineError, AssertionError vb.'dir.

Java İstisna Anahtar Kelimeleri

Java, istisnayı işlemek için kullanılan beş anahtar kelime sağlar. Aşağıdaki tabloda her biri açıklanmaktadır.

Anahtar kelimeTanım
denemek'Try' anahtar kelimesi, istisna kodunu yerleştirmemiz gereken bloğu belirtmek için kullanılır. Bu, try bloğunu tek başına kullanamayacağımız anlamına gelir. Try bloğunun ardından catch ya da nihayet gelmelidir.
yakalamak'Catch' bloğu istisnayı işlemek için kullanılır. Başında try bloğu bulunmalıdır, bu da catch bloğunu tek başına kullanamayacağımız anlamına gelir. Bunu daha sonra nihayet blok takip edebilir.
Sonunda'Nihayet' bloğu programın gerekli kodunu çalıştırmak için kullanılır. Bir istisnanın ele alınıp alınmamasına bakılmaksızın yürütülür.
fırlatmak'Throw' anahtar sözcüğü bir istisna atmak için kullanılır.
atar'Throws' anahtar sözcüğü istisnaları bildirmek için kullanılır. Yöntemde bir istisna oluşabileceğini belirtir. Bir istisna atmaz. Her zaman yöntem imzasıyla birlikte kullanılır.

Java İstisna İşleme Örneği

İstisnayı işlemek için try-catch ifadesini kullandığımız Java İstisna İşleme örneğine bakalım.

JavaExceptionÖrnek.java

 public class JavaExceptionExample{ public static void main(String args[]){ try{ //code that may raise exception int data=100/0; }catch(ArithmeticException e){System.out.println(e);} //rest code of the program System.out.println('rest of the code...'); } } 
Şimdi Test Edin

Çıktı:

 Exception in thread main java.lang.ArithmeticException:/ by zero rest of the code... 

Yukarıdaki örnekte 100/0, try-catch bloğu tarafından işlenen bir ArithmeticException'ı oluşturur.

Java İstisnalarına İlişkin Yaygın Senaryolar

Denetlenmeyen istisnaların meydana gelebileceği bazı senaryolar verilmiştir. Bunlar aşağıdaki gibidir:

1) ArithmeticException'ın gerçekleştiği bir senaryo

Herhangi bir sayıyı sıfıra bölersek ArithmeticException oluşur.

 int a=50/0;//ArithmeticException 

2) NullPointerException'ın oluştuğu bir senaryo

Herhangi bir değerde null değerimiz varsa değişken değişken üzerinde herhangi bir işlem gerçekleştirilmesi bir NullPointerException oluşturur.

 String s=null; System.out.println(s.length());//NullPointerException 

3) NumberFormatException'ın gerçekleştiği bir senaryo

Herhangi bir değişkenin veya sayının formatı eşleşmiyorsa NumberFormatException ile sonuçlanabilir. Diyelim ki elimizde bir sicim karakterleri olan değişken; bu değişkeni rakama dönüştürmek NumberFormatException'a neden olur.

 String s='abc'; int i=Integer.parseInt(s);//NumberFormatException 

4) ArrayIndexOutOfBoundsException'ın gerçekleştiği bir senaryo

Bir dizi boyutunu aştığında ArrayIndexOutOfBoundsException oluşur. ArrayIndexOutOfBoundsException'ın oluşmasının başka nedenleri de olabilir. Aşağıdaki ifadeleri göz önünde bulundurun.

 int a[]=new int[5]; a[10]=50; //ArrayIndexOutOfBoundsException 

Java İstisnaları Dizini

  1. Java Try-Catch Bloğu
  2. Java Çoklu Yakalama Bloğu
  3. Java İç İçe Deneme
  4. Java Nihayet Engellendi
  5. Java Anahtar Kelimesini Atın
  6. Java İstisna Yayılımı
  7. Java Anahtar Kelimeyi Atar
  8. Java Atma ve Atma Karşılaştırması
  9. Java Final vs Nihayet vs Finalize
  10. Yöntem Geçersiz Kılma ile Java İstisna İşleme
  11. Java Özel İstisnaları