Java Eğitimleri

Java ANA SAYFA Java'ya Giriş Java Başlarken Java Sözdizimi Java Yorumları Java Değişkenleri Java Veri Türleri Java Tipi Döküm Java Operatörleri Java Dizeleri Java Matematiği Java Booleanları Java Eğer... Başka Java Anahtarı Java while Döngüsü Döngü için Java Java Ara/Devam Java Dizileri

Java Yöntemleri

Java Yöntemleri Java Yöntemi Parametreleri Java Yöntemi Aşırı Yüklemesi Java Kapsamı Java Özyineleme

Java Sınıfları

Java OOP'si Java Sınıfları/Nesneleri Java Sınıfı Nitelikleri Java Sınıfı Yöntemleri Java Oluşturucuları Java Değiştiriciler Java Kapsülleme Java Paketleri / API Java Kalıtımı Java Polimorfizmi Java İç Sınıfları Java Soyutlama Java Arayüzü Java Numaraları Java Kullanıcı Girişi Java Tarihi Java Dizi Listesi Java Bağlantılı Listesi Java Hash Haritası Java HashSeti Java Yineleyici Java Sarıcı Sınıfları Java İstisnaları Java Normal İfadesi Java Konuları Java Lambda

Java Dosya İşleme

Java Dosyaları Java Dosyaları Oluşturma/Yazma Java Okuma Dosyaları Java Dosyaları Sil

Java Nasıl Yapılır

İki Sayı Ekle

Java Referansı

Java Anahtar Kelimeleri Java Dize Yöntemleri Java Matematik Yöntemleri

Java Örnekleri

Java Örnekleri Java Derleyici Java Alıştırmaları Java Testi Java Sertifikası


Java İstisnaları - Deneyin...Yakala


Java İstisnaları

Java kodunu çalıştırırken farklı hatalar oluşabilir: programcı tarafından yapılan kodlama hataları, yanlış girişten kaynaklanan hatalar veya diğer öngörülemeyen şeyler.

Bir hata oluştuğunda, Java normalde durur ve bir hata mesajı oluşturur. Bunun teknik terimi şudur: Java bir istisna atar (bir hata atar).


Java dene ve yakala

İfade try, yürütülürken hatalara karşı test edilecek bir kod bloğu tanımlamanıza izin verir.

Deyim catch, try bloğunda bir hata meydana gelirse yürütülecek bir kod bloğu tanımlamanıza izin verir.

ve anahtar sözcükleri çiftler halinde gelir try:catch

Sözdizimi

try {
  //  Block of code to try
}
catch(Exception e) {
  //  Block of code to handle errors
}

Aşağıdaki örneği göz önünde bulundurun:

myNumbers[10] mevcut olmadığı için bu bir hata üretecektir .

public class Main {
  public static void main(String[ ] args) {
    int[] myNumbers = {1, 2, 3};
    System.out.println(myNumbers[10]); // error!
  }
}

Çıktı şöyle bir şey olacaktır:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
        at Main.main(Main.java:4)

Bir hata oluşursa, try...catchhatayı yakalamak ve işlemek için bazı kodları çalıştırmak için kullanabiliriz:

Örnek

public class Main {
  public static void main(String[ ] args) {
    try {
      int[] myNumbers = {1, 2, 3};
      System.out.println(myNumbers[10]);
    } catch (Exception e) {
      System.out.println("Something went wrong.");
    }
  }
}

Çıktı olacaktır:

Something went wrong.

Nihayet

İfade , sonuçtan bağımsız olarak finally, sonrasında kodu yürütmenize izin verir :try...catch

Örnek

public class Main {
  public static void main(String[] args) {
    try {
      int[] myNumbers = {1, 2, 3};
      System.out.println(myNumbers[10]);
    } catch (Exception e) {
      System.out.println("Something went wrong.");
    } finally {
      System.out.println("The 'try catch' is finished.");
    }
  }
}

Çıktı olacaktır:

Something went wrong.
The 'try catch' is finished.


fırlatma anahtar kelimesi

İfade throw, özel bir hata oluşturmanıza olanak tanır.

İfade , bir istisna türüylethrow birlikte kullanılır . Java'da birçok istisna türü mevcuttur: , , , , vb:ArithmeticExceptionFileNotFoundExceptionArrayIndexOutOfBoundsExceptionSecurityException

Örnek

Yaş 18'in altındaysa bir istisna atın ("Erişim reddedildi" yazdırın). Yaş 18 veya daha büyükse, "Erişim izni verildi" ifadesini yazdırın:

public class Main {
  static void checkAge(int age) {
    if (age < 18) {
      throw new ArithmeticException("Access denied - You must be at least 18 years old.");
    }
    else {
      System.out.println("Access granted - You are old enough!");
    }
  }

  public static void main(String[] args) {
    checkAge(15); // Set age to 15 (which is below 18...)
  }
}

Çıktı olacaktır:

Exception in thread "main" java.lang.ArithmeticException: Access denied - You must be at least 18 years old.
        at Main.checkAge(Main.java:4)
        at Main.main(Main.java:12)

Yaş 20 olsaydı, bir istisna almazsınız :

Örnek

checkAge(20);

Çıktı olacaktır:

Access granted - You are old enough!

Egzersizlerle Kendinizi Test Edin

Egzersiz yapmak:

Aşağıdaki koddaki hatayı işlemek için eksik parçaları ekleyin.

 {
  int[] myNumbers = {1, 2, 3};
  System.out.println(myNumbers[10]);
}  (Exception e) {
  System.out.println("Something went wrong.");
}