0Pricing
Kotlin Academy · Ders

Result Türü

Başarı ve başarısızlığı modelleyin

Result Türü, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 dersinin 1. 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.

Success veya Failure

Birçok işlem başarısız olabilir. Kotlin'in Result türü, ya bir değer taşıyan success ya da bir istisna taşıyan failure olan bir sonucu, istisna fırlatmadan modeller.

Success Oluşturma

Bir değeri Result.success(value) ile başarılı bir sonucun içine sarınız.

fun main() {
    val r: Result<Int> = Result.success(42)
    println(r.isSuccess)
    println(r.getOrNull())
}

Failure Oluşturma

Bir hatayı Result.failure(exception) ile temsil ediniz. Siz onu açmayı seçene kadar hiçbir istisna fırlatılmaz.

fun main() {
    val r: Result<Int> = Result.failure(IllegalStateException("bad"))
    println(r.isFailure)
    println(r.exceptionOrNull()?.message)
}

getOrNull ve exceptionOrNull

Bir sonucu güvenli biçimde inceleyiniz: getOrNull() değeri veya null döndürür, exceptionOrNull() ise hatayı veya null döndürür.

fun main() {
    val ok = Result.success("hi")
    val bad = Result.failure<String>(RuntimeException("oops"))
    println(ok.getOrNull())
    println(bad.exceptionOrNull()?.message)
}

getOrDefault

Başarısızlıklar için getOrDefault ile bir geri dönüş değeri sağlayınız. Mantıklı bir varsayılan değeriniz olduğunda bu, null kontrollerinden daha temizdir.

fun main() {
    val bad: Result<Int> = Result.failure(Exception())
    println(bad.getOrDefault(0))
    val ok: Result<Int> = Result.success(7)
    println(ok.getOrDefault(0))
}

getOrElse

getOrElse, geri dönüş değerini istisnadan hesaplar ve farklı hatalara farklı tepkiler vermenizi sağlar.

fun main() {
    val r: Result<Int> = Result.failure(IllegalArgumentException("nope"))
    val value = r.getOrElse { e -> if (e is IllegalArgumentException) -1 else -2 }
    println(value)
}

getOrThrow

İstisnayı gerçekten istediğinizde getOrThrow(), değeri döndürür veya saklanan istisnayı yeniden fırlatır.

fun main() {
    val ok = Result.success(10)
    println(ok.getOrThrow())

    try {
        Result.failure<Int>(IllegalStateException("fail")).getOrThrow()
    } catch (e: Exception) {
        println("caught: " + e.message)
    }
}

Result Döndürme

Bir işlev, başarısızlığı imzasında açıkça belirtmek için Result döndürebilir; böylece çağıranların her iki sonucu da ele alması gerekir.

fun parse(s: String): Result<Int> {
    val n = s.toIntOrNull()
    return if (n != null) Result.success(n)
           else Result.failure(NumberFormatException(s))
}

fun main() {
    println(parse("123").getOrNull())
    println(parse("x").exceptionOrNull()?.message)
}

Result ve İstisnalar

İstisnalar imzalarda görünmez ve kontrol akışını bozar. Result, başarısızlığı diğer her şey gibi aktarıp dönüştürebileceğiniz bir değere dönüştürür; açık, birleştirilebilir ve göz ardı edilmesi zordur.

Result Ne Zaman Kullanılır

Result türünü, çağıranların ele almasını istediğiniz kurtarılabilir ve beklenen başarısızlıklar için kullanınız. Sözleşme ihlalleri gibi gerçekten olağan dışı, programcı hatası durumları için istisna fırlatmaya devam ediniz.

Bir Değer, Atlama Değil

Temel değişim şudur: hata, normal bir dönüş değerine dönüşür. Sırada, fırlatılan istisnaları otomatik olarak bir Result içinde yakalayan runCatching öğesini öğreneceksiniz.

Hızlı Kontrol

Result türü konusundaki anlayışınızı sınayınız.

Özet

Result türünü öğrendiniz:

  • Result.success / Result.failure ile oluşturma
  • getOrNull, exceptionOrNull ile inceleme
  • getOrDefault, getOrElse, getOrThrow ile kurtarma
  • failure durumunu açıkça belirtmek için döndürme

Sıradaki konu: runCatching.

Sıkça Sorulan Sorular

“Result Türü” dersi ücretsiz mi?

Evet — “Result Türü” 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.

“Result Türü” dersinde ne öğreneceğim?

Başarı ve başarısızlığı modelleyin 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 1. dersidir.

“Result Türü” 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