throw
- Kotlin kursu
- Başlangıç
- Ders 101/116
- 4 dk
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
fun main() {
// Bir yaş denetimi yaz; negatifse hata fırlat ve main'de yakalayıp yazdır
}Örnek çözüm
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
if (age < 0) ____ IllegalArgumentException("Yaş negatif olamaz")
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ı |