Junior — Middle
Jaka jest rola i zastosowanie CoroutineExceptionHandler w zarządzaniu błędami w korutynach?
sobes.tech AI
Odpowiedź od AI
CoroutineExceptionHandler to interfejs w Kotlin Coroutines, który umożliwia centralne obsługiwanie nieobsłużonych wyjątków występujących w korutynach.
Rola i zastosowanie:
- Pozwala zdefiniować logikę obsługi błędów, które nie zostały przechwycone wewnątrz samej korutyny.
- Używany do globalnego obsługiwania wyjątków, np. logowania lub powiadamiania użytkownika.
- Dodawany do kontekstu korutyny podczas jej uruchomienia.
Przykład użycia:
val handler = CoroutineExceptionHandler { _, exception ->
println("Przechwycono wyjątek: $exception")
}
GlobalScope.launch(handler) {
throw RuntimeException("Błąd w korutynie")
}
W tym przykładzie, wyjątek rzucony w korutynie zostanie przechwycony i obsłużony przez CoroutineExceptionHandler, co zapobiega awarii aplikacji.