Lekce 5 - Vlákna - Výjimky a Deadlock v C# .NET
V minulé lekci, Vlákna - Bezpečnost vláken v C# .NET, jsme se zabývali bezpečností vláken v C# .NET. Vybrali jsme si jednu techniku sdílení dat mezi vlákny, kterou jsme implementovali do příkladu.
V dnešním C# .NET tutoriálu se budeme věnovat výjimkám, jejich zachycení a propagaci. Na praktickém příkladu si zkusíme nasimulovat Deadlock s tímto výstupem:
Konzolová aplikace
Thread 1 zamkl zámek 1.
Thread 2 zamkl zámek 2.
Thread 2 čeká na zámek 1...
Thread 1 čeká na zámek 2...
Výjimky
Výjimky jsou významným aspektem programování, který nám umožňuje elegantně reagovat na neočekávané události během provádění programu.
Výjimka může být způsobena například těmito faktory:
- chyby v kódu,
- chybějící nebo nedostupné soubory,
- neplatné vstupy od uživatele nebo problémy v systémových voláních.
Když nastane výjimka, běžící program přeruší svůj běh. Program začne hledat část kódu, která se nazývá výjimečný blok nebo výjimečný handler, který může výjimku zachytit a řádně zpracovat.
Zachycení výjimek
Výjimky lze zachytit pomocí konstrukce try-catch. Blok
try obsahuje kód, ve kterém může dojít k vzniku výjimky. Blok
catch definuje zpracování této výjimky. Ukažme si zápis v
kódu:
...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.
roční PŘEDPLATNÉ
1 082 Kč
měsíčně, placeno ročně (12 984 Kč)14 000+ lekcí, cvičení a testů
6 000+ ti zůstane napořád
Neomezený přístup ke všem aktuálním
i připravovaným kurzům.
Koupit pouze tento kurz
Získej okamžitý přístup ke kurzu bez
časového omezení.
750 Kč
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš s Provozními podmínkami.
- Přístup k jednotlivým lekcím dle způsobu pořízení.
- 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 C# .NET tutoriálu se budeme věnovat výjimkám, jejich zachycení a propagaci. Na praktickém příkladu si zkusíme nasimulovat Deadlock.
David se informační technologie naučil na