Özet - İstisnalar
- Kotlin kursu
- Başlangıç
- Ders 105/116
- 5 dk
try/catch, finally ve try ifadesini birleştirerek bir banka hesap sınıfı yazarsın.
Özet - İstisnalar
Bu grupta try/catch ile hata yakalamayı, throw ile hata fırlatmayı, finally ile temizlik yapmayı, try ifadesini ve özel exception sınıflarını öğrendin.
Şimdi hepsini birleştiren küçük bir görevle bilgini sınamak gerekiyor: özel bir hata sınıfı tanımla, fırlat, yakala ve son olarak temizlik yap. Bu, gerçek bir hata yönetimi akışının küçük bir örneğidir.
Uygulama Özel hata ile tam akış kur
MyError(message: String) : Exception(message) sınıfını tanımla. fun load() yaz; içinde throw MyError("Yükleme başarısız") fırlat. main içinde try/catch/finally kur; hatada e.message'i yazdır, finally içinde println("Bitti") çağır.
Başlangıç kodu
fun main() {
// Bir hata sınıfı tanımla, bir fonksiyonda fırlat, try-catch-finally ile sar
}Örnek çözüm
class MyError(message: String) : Exception(message)
fun load() {
throw MyError("Yükleme başarısız")
}
fun main() {
try {
load()
} catch (e: MyError) {
println(e.message)
} finally {
println("Bitti")
}
}Beklenen çıktı
Yükleme başarısız Bitti
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Hangisi doğrudur?
- finally her zaman çalışır Doğru cevap
- throw hatayı yakalar
- catch hata fırlatır
- try hata yakalar
Açıklama: finally hata olsa da olmasa da çalışır.
2 Araç ve amacı eşleştir
| Kavram | Anlamı |
|---|---|
try |
Deneme |
catch |
Yakalama |
finally |
Temizlik |
throw |
Fırlatma |
3 Boşluğu doldur: catch yaz
try {
load()
} ____ (e: MyError) {
println(e.message)
}
try {
load()
} catch (e: MyError) {
println(e.message)
}
Açıklama: catch ile MyError yakalanır.