Sobes.tech
Junior

Kotlin'de istisnaları nasıl işleriz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kotlin'de istisnaları işlemek için try, catch ve finally blokları kullanılır.

fun divide(a: Int, b: Int): Int {
    try {
        // Potansiyel olarak tehlikeli kod
        return a / b
    } catch (e: ArithmeticException) {
        // Belirli istisnaların işlenmesi
        println("Hata: sıfıra bölme!")
        return 0
    } catch (e: Exception) {
        // Genel istisnaların işlenmesi
        println("Bilinmeyen bir hata oluştu: ${e.message}")
        throw e // Gerekirse istisnayı yeniden fırlat
    } finally {
        // Her durumda çalıştırılan kod (istisna olup olmamasına bakılmaksızın)
        println("Kaynakların temizlenmesi veya diğer sonlandırıcı işlemler")
    }
}
  • try bloğu, istisna oluşturabilecek kodu içerir.
  • catch bloğu, istisnaları yakalamak ve işlemek için kullanılır. Birden fazla catch bloğu, farklı türdeki istisnaları işlemek için kullanılabilir. İstisna türleri, bildirim sırasına göre yakalanır.
  • finally bloğu, her zaman çalıştırılan kodu içerir, istisna olup olmamasına bakılmaksızın. Bu blok genellikle kaynakların serbest bırakılması için kullanılır.

Java'dan farklı olarak, Kotlin'de zorunlu olarak işlenmesi gereken ("checked") istisnalar yoktur. Kotlin'deki tüm istisnalar "unchecked"'dir.

İstisnaları fırlatmak için throw anahtar kelimesi kullanılır:

fun validateAge(age: Int) {
    if (age < 0) {
        throw IllegalArgumentException("Yaş negatif olamaz")
    }
    // ...
}

Ayrıca, standart kütüphanedeki istisna sınıflarını kullanabilir veya Exception veya RuntimeException'dan türeyen kendi özel sınıflarınızı oluşturabilirsiniz.