Lekce 12 - Třidy pro práci s výjimkami v Kotlin
V minulé lekci, Práce s binárními soubory v Kotlin, jsme se naučili binárně zapisovat a číst instance, vše jsme si vyzkoušeli opět na příkladu s uživateli.
Dnes se v Kotlin tutoriálu blíže podíváme, co to vlastně výjimka je a co je tak magického na metodách, které výjimky vyhazují. Ukážeme si hierarchii tříd používaných pro zpracování výjimek a několik mechanismů s nimi spojených. Vše si v článku podrobně popíšeme a dozvíme se, jaký je rozdíl mezi chybou a výjimkou. Pojďme se na to podívat.
Výjimka
Výjimka v Kotlin není nic jiného, než třída rozšiřující třídu
java.lang.Exception
. Z toho vyplývá, že výjimku budeme schopni
vytvořit i my sami (viz dále). Nicméně existuje celá řada standardních
výjimek, přičemž každá nese informaci o odlišném druhu neočekávané
informace. Jedná se tedy o výjimky ze standardní cesty běhu programu.
Například FileNotFoundException
bude vyhozena, pokud budeme
číst z neexistujícího souboru, zatímco
ArrayIndexOutOfBoundsException
dostaneme, pokud sáhneme mimo
rozsah pole.
Můžeme si všimnout, že názvy výjimek končí na slovo
Exception
. Pro funkčnost to samozřejmě není nutné, ale je to
poměrně dodržovaná konvence.
Vyhazování výjimek
V minulém odstavci jsem používal termín vyhodit výjimku. Vyhození výjimky prakticky znamená
...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:
Zaměříme se podrobněji na konstrukci try-catch v Kotlin a vysvětlíme si, co to vlastně výjimka je a jak je hierarchie chyb a výjimek implementována.
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íť.