Junior — Middle
¿En qué casos se aplica CoroutineExceptionHandler en las corutinas?
sobes.tech AI
Respuesta de la IA
CoroutineExceptionHandler используется для обработки необработанных исключений в корутинах, которые запускаются в глобальном или супервизорном контексте.
Он применяется, когда нужно централизованно отлавливать ошибки, которые не были пойманы внутри корутины, чтобы избежать краха приложения или для логирования ошибок.
Пример использования:
val handler = CoroutineExceptionHandler { _, exception ->
println("Caught $exception")
}
GlobalScope.launch(handler) {
throw RuntimeException("Test exception")
}
Важно: CoroutineExceptionHandler не ловит исключения в корутинах, запущенных через async, если их результат не был получен (await). Для таких случаев нужно использовать try-catch внутри корутины.