Junior — Middle
Comment gérer les exceptions dans les coroutines asynchrones?
sobes.tech IA
Réponse de l'IA
En Kotlin, pour gérer les exceptions dans les coroutines, vous pouvez utiliser des blocs try-catch à l’intérieur de la coroutine elle-même ou appliquer des constructions spéciales telles que CoroutineExceptionHandler.
Exemple avec try-catch à l’intérieur de la coroutine :
launch {
try {
val result = someSuspendFunction()
println(result)
} catch (e: Exception) {
println("Erreur : ${e.message}")
}
}
Si la coroutine est lancée via launch, les exceptions non gérées sont transmises à CoroutineExceptionHandler :
val handler = CoroutineExceptionHandler { _, exception ->
println("Exception gérée : ${exception.message}")
}
GlobalScope.launch(handler) {
throw RuntimeException("Erreur dans la coroutine")
}
Ainsi, il est possible de gérer de manière flexible les erreurs dans le code asynchrone.