Junior — Middle
¿Cómo implementar el manejo de excepciones en corutinas asíncronas?
sobes.tech AI
Respuesta de la IA
En Kotlin, para manejar excepciones en corutinas, puedes usar bloques try-catch dentro de la misma corutina o aplicar construcciones especiales, como CoroutineExceptionHandler.
Ejemplo con try-catch dentro de la corutina:
launch {
try {
val result = someSuspendFunction()
println(result)
} catch (e: Exception) {
println("Error: ${e.message}")
}
}
Si la corutina se inicia mediante launch, las excepciones no manejadas se transmiten a CoroutineExceptionHandler:
val handler = CoroutineExceptionHandler { _, exception ->
println("Excepción manejada: ${exception.message}")
}
GlobalScope.launch(handler) {
throw RuntimeException("Error en la corutina")
}
De esta forma, se puede gestionar de manera flexible los errores en código asíncrono.