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.