Sobes.tech
Junior — Middle

Mis on CoroutineExceptionHandler'i roll ja rakendus korutinate sees olevate vigade haldamisel?

sobes.tech AI

Vastus AI-lt

CoroutineExceptionHandler on Kotlin Coroutinesi liides, mis võimaldab keskset käsitlemist mittetöötavate erandite jaoks, mis tekivad korutinates.

Roll ja kasutus:

  • Võimaldab määratleda tõrke käsitlemise loogika, mis ei ole korutinas endas kinni püütud.
  • Kasutatakse globaalsete erandite käsitlemiseks, näiteks logimiseks või kasutajale teavitamiseks.
  • Lisatakse korutina konteksti selle käivitamisel.

Kasutusnäide:

val handler = CoroutineExceptionHandler { _, exception ->
    println("Käsitletud erand: $exception")
}

GlobalScope.launch(handler) {
    throw RuntimeException("Korutinas viga")
}

Selles näites püütakse ja töödeldakse korutinas visatud erand CoroutineExceptionHandleri abil, mis takistab rakenduse kokkuvarisemist.