## [C# Exceptions (Try..Catch)](https://www.w3schools.com/cs/cs_exceptions.php)** Výjimky jsou mechanismus pro zpracování chyb v programech. Umožňují programátorovi definovat speciální bloky kódu, které se spustí, když dojde k neočekávané chybě. ### **Princip** Výjimky se spouštějí pomocí klíčového slova throw. Zpracovávají se pomocí bloků try, catch a finally. ### **Syntaxe** ```csharp try { //  *Block of code to try* } catch (Exception e) { //  *Block of code to handle errors* } ``` ### **Příklady** ```csharp try { int[] myNumbers = {1, 2, 3}; Console.WriteLine(myNumbers[10]); } catch (Exception e) { Console.WriteLine("Something went wrong."); } ``` The output will be: ``` Something went wrong ``` - **Dělení nulou:** ```csharp try { var vysledek = 10 / 0; } catch (DivideByZeroException ex) { Console.WriteLine("Nelze dělit nulou!"); } ``` - **Soubor nenalezen:** ```csharp try { var soubor = File.OpenRead("neexistujici_soubor.txt"); } catch (FileNotFoundException ex) { Console.WriteLine("Soubor nenalezen!"); } ``` ### **Zpracování** Zpracování výjimek zahrnuje: - **Identifikace typu výjimky:** Pomocí bloku catch s konkrétním typem výjimky. - **Záznam chyby:** Do logu nebo do jiné databáze. - **Zobrazení zprávy uživateli:** Srozumitelným a užitečným způsobem. - **Oprava chyby:** Pokud je to možné. **Tipy:** - Používejte výjimky pro neočekávané a neošetřitelné chyby. - Pečlivě testujte kódy s výjimkami. - Dodržujte konzistentní způsob zpracování výjimek. - Existují i jiné metody pro zpracování chyb, například kódy návratu. Dobré pochopení výjimek vám pomůže psát robustní programy, které se správně chovají i v případě chyb.