Junior — Middle
Korutinlerde CoroutineExceptionHandler ne zaman kullanılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
CoroutineExceptionHandler используется для обработки необработанных исключений в корутинах, которые запускаются в глобальном или супервизорном контексте.
Он применяется, когда нужно централизованно отлавливать ошибки, которые не были пойманы внутри корутины, чтобы избежать краха приложения или для логирования ошибок.
Пример использования:
val handler = CoroutineExceptionHandler { _, exception ->
println("Caught $exception")
}
GlobalScope.launch(handler) {
throw RuntimeException("Test exception")
}
Важно: CoroutineExceptionHandler не ловит исключения в корутинах, запущенных через async, если их результат не был получен (await). Для таких случаев нужно использовать try-catch внутри корутины.