Sobes.tech
Junior — Middle

Care este rolul și aplicarea CoroutineExceptionHandler în gestionarea erorilor din interiorul corutinelor?

sobes.tech AI

Răspuns de la AI

CoroutineExceptionHandler este o interfață în Kotlin Coroutines care permite gestionarea centralizată a excepțiilor necontrolate care apar în corutine.

Rol și utilizare:

  • Permite definirea logicii de gestionare a erorilor care nu au fost capturate în interiorul corutinei.
  • Este utilizat pentru gestionarea globală a excepțiilor, de exemplu, pentru înregistrare sau notificarea utilizatorului.
  • Se adaugă în contextul corutinei la pornire.

Exemplu de utilizare:

val handler = CoroutineExceptionHandler { _, exception ->
    println("Excepție capturată: $exception")
}

GlobalScope.launch(handler) {
    throw RuntimeException("Eroare în corutină")
}

În acest exemplu, excepția aruncată în corutină va fi capturată și gestionată de CoroutineExceptionHandler, prevenind prăbușirea aplicației.