0Pricing
Kotlin Academy · Ders

runCatching

Özel durumları değer olarak yakalayın

runCatching, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kotlin Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Academy kursu toplamda 4 dersten oluşur.

İstisnaları Yakalama

runCatching bir bloğu çalıştırır ve sonucunu bir Result içine sarar: dönüş değeri success olur, fırlatılan her istisna failure olur. Try/catch gerekmez.

Temel Kullanım

Bir lambda işlevi geçiriniz; son ifade success değeridir.

fun main() {
    val r = runCatching { 10 / 2 }
    println(r.isSuccess)
    println(r.getOrNull())
}

Fırlatılan Hatayı Yakalama

Blok bir hata fırlattığında runCatching, istisnayı yaymak yerine saklar.

fun main() {
    val r = runCatching { 10 / 0 }
    println(r.isFailure)
    println(r.exceptionOrNull()?.message)
}

Riskli Ayrıştırmayı Sarmalama

Yaygın bir kullanım, ayrıştırma gibi hata fırlatabilecek çağrıları sarmalamaktır; böylece başarısızlık, ele alabileceğiniz bir değer olur.

fun main() {
    val good = runCatching { "42".toInt() }
    val bad = runCatching { "abc".toInt() }
    println(good.getOrNull())
    println(bad.getOrNull())
}

Alıcı Olarak runCatching

runCatching öğesini bir alıcı nesne üzerinde çağırabilirsiniz; blok içinde this bu nesneye başvurur. Bu, bir değer üzerindeki işlemleri zincirlemek için kullanışlıdır.

fun main() {
    val text = "  99 "
    val r = text.runCatching { trim().toInt() }
    println(r.getOrNull())
}

Satır İçinde Kurtarma

Geri dönüş değerini doğrudan call noktasında sağlamak için getOrElse ile birleştiriniz.

fun main() {
    val n = runCatching { "oops".toInt() }.getOrElse { -1 }
    println(n)
}

Her İki Dal İçin fold

fold, success ve failure durumlarını tek bir çağrıda ele alır ve her iki daldan da tek bir değer döndürür.

fun main() {
    val message = runCatching { "50".toInt() }.fold(
        onSuccess = { "got " + it },
        onFailure = { "error: " + it.message }
    )
    println(message)
}

Deneme/Yakalama Yapısını Yeniden Düzenleme

Bir değer döndüren bir deneme/yakalama yapısı yazabileceğiniz yerlerde runCatching daha kısadır ve sonucu veri olarak korur.

fun safeDivide(a: Int, b: Int): Result<Int> =
    runCatching { a / b }

fun main() {
    println(safeDivide(8, 2).getOrNull())
    println(safeDivide(8, 0).exceptionOrNull()?.message)
}

Geniş Kapsamlı Yakalamaya Dikkat

runCatching, yutmak istemeyebileceğiniz istisnalar da dâhil olmak üzere tüm fırlatılabilirleri yakalar. Çok büyük blokları sarmalamaktan kaçınınız; yakalanan bölgeyi küçük ve bilinçli tutunuz.

Dönüşümleri Zincirleme

runCatching bir Result ürettiği için hemen üzerinde map veya recover zinciri oluşturabilirsiniz. Bunları bir sonraki derste inceleyeceğiz.

fun main() {
    val r = runCatching { "7".toInt() }.map { it * 10 }
    println(r.getOrNull())
}

Neden Yararlıdır

runCatching, istisna fırlatan kod ile değer tabanlı Result dünyası arasında köprü kurar. İstisna fırlatan API'leri çağırırken bile işlevsel hata yönetimini benimsemenizi sağlar.

Hızlı Kontrol

runCatching konusundaki anlayışınızı sınayınız.

Özet

runCatching öğesini öğrendiniz:

  • Bir bloğun sonucunu Result içine sarar
  • Fırlatılan istisnaları failure durumuna dönüştürür
  • getOrElse ve fold ile birleştirilebilir
  • Yakalanan bölgeleri küçük tutar

Sıradaki konu: mühürlü sonuç hiyerarşileri oluşturma.

Sıkça Sorulan Sorular

“runCatching” dersi ücretsiz mi?

Evet — “runCatching” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kotlin Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Academy kursu toplamda 4 dersten oluşur.

“runCatching” dersinde ne öğreneceğim?

Özel durumları değer olarak yakalayın Kotlin Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Kotlin Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Kotlin Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“runCatching” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Kotlin Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Kotlin Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Result Türü
  2. runCatching
  3. Mühürlü Result Hiyerarşileri
  4. İşlevsel Hata İşleme
← Kotlin Academy Sayfasına Dön