CodeBlanks Logo Icon CodeBlanks

try ifadesi

Kotlin'de try'in ifade olarak kullanımını öğrenirsin.

try ifadesi: değer döndürür

Kotlin'de try bir ifadedir; bir değer üretir. catch bloğu da bir değer döndürebilir; böylece yedek değer verirsin.

val n = try {
    "42".toInt()
} catch (e: NumberFormatException) {
    0
}
// n = 42

Başarılı olursa try bloğunun son satırı, hata olursa catch bloğunun son satırı sonuç olur. Bu sayede if/else benzeri bir akış kurarsın. Sonuç bir değişkene doğrudan atanabilir.

try ifadesinde nullable sonuç

catch bloğu null döndürürse sonuç null olabilir. Bu durumda değişken nullable olur; güvenli erişim gerekir.

val n: Int? = try {
    "abc".toInt()
} catch (e: NumberFormatException) {
    null
}
println(n ?: -1)  // -1

?: (Elvis) operatörü null değer için yedek verir. Böylece nullable sonuçları güvenle işlersin. Bu yöntem, dönüşüm başarısız olduğunda sessizce yedek değer vermeyi kolaylaştırır.

Uygulama Dizeyi sayıya çevir

Bir try ifadesi ile "42".toInt()'yi çağır; NumberFormatException yakala ve 0 döndür. Sonucu val n değişkenine ata ve println ile yazdır.

Başlangıç kodu

Main.kt
fun main() {
    // Bir dizeyi try ifadesiyle sayıya çevir; olmazsa 0 yaz, sonucu yazdır
}

Örnek çözüm

Main.kt
fun main() {
    val n = try {
        "42".toInt()
    } catch (e: NumberFormatException) {
        0
    }
    println(n)
}

Beklenen çıktı

42

Soru ve cevaplar

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

1 `val n = try { x.toInt() } catch (e) { 0 }` ne yapar?

  • n'ye 0 yazar
  • n'ye null yazar
  • n'ye try değerini yazar Doğru cevap
  • Derleme hatası verir

Açıklama: Hata yoksa try'nin değeri, varsa catch'in değeri n'ye gider.

2 Boşluğu doldur: try ifadesi

Soru
val n = ____ { "42".toInt() } catch (e: NumberFormatException) { 0 }
Cevap
val n = try { "42".toInt() } catch (e: NumberFormatException) { 0 }

Açıklama: try ifadesi bir değer üretir.

3 Parça ve rol eşleştir

Kavram Anlamı
try { } Deneme
catch { } Yedek değer
val n = Atama
.toInt() Dönüşüm

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