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
Resultiçine sarar - Fırlatılan istisnaları failure durumuna dönüştürür
getOrElsevefoldile 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.