Junior — Middle
Cum se implementează gestionarea excepțiilor în corutinele asincrone?
sobes.tech AI
Răspuns de la AI
În Kotlin, pentru gestionarea excepțiilor în corutine, poți folosi blocuri try-catch în interiorul corutinei sau construcții speciale precum CoroutineExceptionHandler.
Exemplu cu try-catch în interiorul corutinei:
launch {
try {
val result = someSuspendFunction()
println(result)
} catch (e: Exception) {
println("Eroare: ${e.message}")
}
}
Dacă corutina este lansată prin launch, excepțiile neprocesate sunt transmise către CoroutineExceptionHandler:
val handler = CoroutineExceptionHandler { _, exception ->
println("Excepție gestionată: ${exception.message}")
}
GlobalScope.launch(handler) {
throw RuntimeException("Eroare în corutină")
}
Astfel, poți gestiona erorile în mod flexibil în codul asincron.