Sobes.tech
Junior — Middle

Kokia yra CoroutineExceptionHandler vaidmuo ir taikymas klaidų valdyme korutinų viduje?

sobes.tech AI

Atsakymas iš AI

CoroutineExceptionHandler yra sąsaja Kotlin Coroutines, leidžianti centralizuotai tvarkyti neapdorotas išimtis, kurios įvyksta korutinose.

Vaidmuo ir taikymas:

  • Leidžia apibrėžti klaidų tvarkymo logiką, kuri nebuvo sugauta pačioje korutinėje.
  • Naudojamas globaliai išimčių tvarkymui, pvz., žurnalo įrašymui ar naudotojo įspėjimui.
  • Pridedamas prie korutinės konteksto jos paleidimo metu.

Naudojimo pavyzdys:

val handler = CoroutineExceptionHandler { _, exception ->
    println("Pagauta išimtis: $exception")
}

GlobalScope.launch(handler) {
    throw RuntimeException("Klaida korutinėje")
}

Šiame pavyzdyje, išimtis, išmesta korutinėje, bus pagauta ir apdorota CoroutineExceptionHandler, taip išvengiant programos žlugimo.