CodeBlanks Logo Icon CodeBlanks

throw

throw ile istisna fırlatmayı öğrenirsin.

throw: kendi hatanı fırlat

Bir koşul sağlandığında throw ile hata fırlatabilirsin. Bu, geçersiz girdiyi erken yakalamanın temel yoludur.

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

throw bir nesne fırlatır; bu nesne bir exception sınıfının örneğidir. Fırlatma gerçekleştiği an, fonksiyon geri kalanı çalışmaz. Çağıran taraf bu hatayı try/catch ile yakalar.

Yaygın exception türleri

Kotlin, yaygın durumlar için hazır exception sınıfları sunar. İsimleri durumu açıkça anlatır; bu yüzden doğru türü seçmek önemlidir.

throw IllegalArgumentException("Geçersiz girdi")
throw IllegalStateException("Yanlış durum")
throw NullPointerException("Boş erişim")

IllegalArgumentException yanlış girdi için, IllegalStateException yanlış zaman ya da durum için, NullPointerException null bir nesneye erişim içindir. Doğru türü seçmek, hatanın nedenini açıkça gösterir.

Uygulama Negatif yaş için hata fırlat

fun checkAge(age: Int) yaz; yaş 0'dan küçükse throw IllegalArgumentException("Yaş negatif olamaz") fırlat. main içinde checkAge(-1) çağır; hatayı try/catch ile yakala ve mesajı yazdır.

Başlangıç kodu

Main.kt
fun main() {
    // Bir yaş denetimi yaz; negatifse hata fırlat ve main'de yakalayıp yazdır
}

Örnek çözüm

Main.kt
fun checkAge(age: Int) {
    if (age < 0) throw IllegalArgumentException("Yaş negatif olamaz")
}

fun main() {
    try {
        checkAge(-1)
    } catch (e: IllegalArgumentException) {
        println(e.message)
    }
}

Beklenen çıktı

Yaş negatif olamaz

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Boşluğu doldur: hatayı fırlat

Soru
if (age < 0) ____ IllegalArgumentException("Yaş negatif olamaz")
Cevap
if (age < 0) throw IllegalArgumentException("Yaş negatif olamaz")

Açıklama: throw IllegalArgumentException ile hata fırlatılır.

2 throw çalıştığında ne olur?

  • Koşul sağlandığında Doğru cevap
  • Her zaman
  • Asla
  • Sadece hata yoksa

Açıklama: throw yalnızca ilgili satıra gelince çalışır.

3 Exception ve senaryo eşleştir

Kavram Anlamı
IllegalArgumentException Geçersiz girdi
IllegalStateException Yanlış durum
NullPointerException Boş nesne
ArithmeticException Matematik hatası

Başlangıç bölümündeki tüm dersler