Назад к вопросам
Junior — Middle
77
В какую корутину следует добавить обработчик исключений?
Компании, где спрашивали
Инити
Ответ от нейросети
sobes.tech AI
Обработчик исключений следует добавлять в корутину, которая является верхним уровнем запуска корутин, то есть в ту, где вы хотите контролировать ошибки и предотвратить падение приложения. Обычно это корутина, запущенная в CoroutineScope жизненного цикла компонента (например, ViewModel или Activity). Для этого используют CoroutineExceptionHandler, который можно добавить в контекст корутины при её запуске:
val handler = CoroutineExceptionHandler { _, exception ->
// обработка исключения
Log.e("Coroutine", "Caught $exception")
}
scope.launch(handler) {
// код корутины
}
Важно помнить, что обработчик срабатывает только для некорутинных исключений (например, в launch), а в async исключения нужно обрабатывать при вызове await().