Sobes.tech
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.