Lekce 13 - Propagace a zpracování výjimek u coroutines v Kotlin
V minulé lekci, Hierarchie coroutines a typ SupervisorJob v Kotlin, jsme si představili nadřazené a podřízené
coroutines typu Job
a propagaci výjimek. Zpracování výjimek
jsme poté upravili pomocí "dozorce", tedy úpravou nadřazené coroutine na
typ SupervisorJob
.
V dnešním tutoriálu se budeme dále zabývat prací s
výjimkami v coroutines. Podíváme se blíže, jak se výjimky
v coroutines propagují a jak ovlivňují běh
ostatních coroutines. Představíme si také
CoroutineExceptionHandler
, který nám umožňuje výjimku
zpracovat.
Propagování a zpracování výjimek
Z dřívějších dílů už víme, že v hierarchii coroutines se výjimky
propagují od potomka k rodičům. Výjimka tedy postupuje z podřízené
coroutine ke coroutine nadřazené, která ji zpracovává. Pokud vytváříme
nový CoroutineScope
, získáváme novou instanci Job
.
Stejně tak při tvorbě coroutines pomocí bloku launch
získáme
instanci typu Job
. Asi nás tedy nepřekvapí, že daný
CoroutineScope
bude fungovat jako rodič coroutines vytvořených v
jeho těle.
CoroutineScope
jako rodič
V následujícím příkladu vytvoříme CoroutineScope
typu
Dispatchers.Default
a v něm dvě podřízené launch
coroutines. První z nich bude
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tutoriálu si ukážeme, jak se v coroutines výjimky propagují a jak ovlivňují běh ostatních. Využijeme též CoroutineExceptionHandler pro jejich zpracování.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.