Vyjimky

Konstrukce pro obsluhu a propagaci výjimek v C#

Výjimky jsou mechanismem, který umožňuje řešení chyb během běhu programu. V C# můžete výjimky ošetřit (zachytit) a propagovat je výš pomocí následujících konstrukcí:

1. try-catch blok

try-catch blok umožňuje zachytit výjimky, které nastanou během provádění kódu v bloku try.

Příklad:

try
{
    // Kód, který může vyvolat výjimku
}
catch (Exception ex)
{
    // Kód, který se vykoná, pokud dojde k výjimce
    Console.WriteLine(ex.Message);
}

2. finally blok

finally blok se vykoná bez ohledu na to, zda došlo k výjimce. Používá se pro uvolnění zdrojů nebo provedení úklidových prací.

Příklad:

try
{
    // Kód, který může vyvolat výjimku
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}
finally
{
    // Kód, který se vždy vykoná
    Console.WriteLine("Uklízím zdroje...");
}

3. throw

Konstrukce throw se používá k vyvolání výjimky. Můžete ji použít k znovu vyvolání chyby, která byla zachycena, nebo k vyvolání nové výjimky.

Příklad:

try
{
    // Kód, který může vyvolat výjimku
}
catch (Exception ex)
{
    Console.WriteLine("Zachyceno: " + ex.Message);
    throw; // Propagace výjimky dále
}

4. Vlastní výjimky

Vlastní výjimky umožňují vytvořit specializované výjimky pro konkrétní scénáře.

Příklad:

public class MojeVlastniVyjimka : Exception
{
    public MojeVlastniVyjimka(string zprava) : base(zprava)
    {
    }
}

throw new MojeVlastniVyjimka("Nastala vlastní výjimka.");

Shrnutí