Obsah:
Definícia - Čo znamená Catch Block?
Blok catch v C # je voliteľný blok kódu, ktorý sa vykonáva, keď sa vyvolá výnimka.
Blok úlovkov je špecifickou súčasťou výnimočného konštrukčného riešenia manipulácie a je implementovaný pomocou kľúčového slova „catch“ v kombinácii s kľúčovými slovami „try“ a „konečne“ a predstavuje prostriedky na implementáciu štruktúrovaného spracovania výnimiek. Blok try obsahuje strážený kód, ktorý môže spôsobiť výnimku. Priloží vyhlásenia, ktoré sa zaoberajú výnimočnými okolnosťami, a snaží sa zotaviť z takýchto neočakávaných podmienok.
Blok úlovkov predstavuje prostriedok na riešenie výnimiek. Ak sa tieto nezaoberajú, môže to viesť k ukončeniu celého programu pomocou času spustenia .NET. Blok výlovu sa môže použiť na zvládnutie akýchkoľvek alebo konkrétnych výnimiek.
Techopedia vysvetľuje Catch Block
Model spracovania výnimiek podľa Common Language Runtime (CLR) umožňuje viac ako jeden blok chytenia, z ktorých každý je navrhnutý na spracovanie špecifickej výnimky. Vždy, keď sa vyskytne výnimka, CLR vyhľadá blok úlovku, ktorý rieši výnimku. Ak aktuálne vykonávaná metóda takýto blok neobsahuje, CLR ho vyhľadá v metóde, ktorá volala aktuálnu metódu do zásobníka hovorov. Pokiaľ v celom kóde nie je nájdená klauzula o zhode pre túto výnimku, vykonávanie vlákna sa zastaví a používateľovi sa zobrazí správa s nespracovanou výnimkou.
Nasleduje niekoľko tipov týkajúcich sa použitia západky:
- Typ výnimky musí byť uvedený do bloku výlovu až po určení príčiny výskytu konkrétnych nepredvídateľných výnimiek (ako je zlyhanie systému katastrofy, zneužitie API atď.) A obnova bola vykonaná bez toho, aby aplikácia zostala nekonzistentná alebo neplatný štát.
- Blok výlovu by sa mal umiestniť tak, aby presnejšie výnimky museli byť zachytené pred menej konkrétnymi výnimkami.
- Blok úlovkov bez parametrov sa označuje ako „výnimky jesť“, pretože to môže potlačiť vážne problémy, ktoré je ťažké ladiť.
- Blok úlovkov môže byť centralizovaný tak, aby zvládal výnimku z centrálneho umiestnenia.
- Príkaz „throw“ sa môže použiť v rámci bloku chytenia, pre ktorý môže byť ten istý výnimkový objekt odovzdaný v zhode odovzdaný znova pri spätnom hádzaní.
- Premenné deklarované v rámci bloku try sa nemôžu použiť mimo neho.
- Po vykonaní bloku chytenia sa kód neobnoví späť do skúšobného bloku.
- Testovanie kódu obsluhy výnimiek v bloku blokovania je nevyhnutné, aby sa predišlo porušeniu žiadosti.
- Blok úlovkov by sa nemal používať na čistiaci kód.
- Blok úlovkov bez parametrov sa nedá použiť na spracovanie výnimiek, ktoré nie sú v súlade s jazykom System (okrem tých, ktoré nie sú odvodené zo systému System.Exception).




