Sobes.tech
Junior — Middle

Asenkron korutinlerde istisna işleme nasıl gerçekleştirilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kotlin'de, koroutinelerde istisnaları işlemek için, koroutine içinde try-catch blokları kullanabilir veya CoroutineExceptionHandler gibi özel yapılar uygulayabilirsiniz.

Koroutine içinde try-catch örneği:

launch {
    try {
        val result = someSuspendFunction()
        println(result)
    } catch (e: Exception) {
        println("Hata: ${e.message}")
    }
}

Eğer koroutine launch ile başlatılırsa, işlenmemiş istisnalar CoroutineExceptionHandler'a iletilir:

val handler = CoroutineExceptionHandler { _, exception ->
    println("İşlenmiş istisna: ${exception.message}")
}

GlobalScope.launch(handler) {
    throw RuntimeException("Koroutine hatası")
}

Bu şekilde, asenkron kodda hataları esnek bir şekilde yönetebilirsiniz.