Junior
Co je to operátor throw v C#?
sobes.tech AI
Odpověď od AI
Operátor throw se používá k přímému vyvolání výjimky. Umožňuje přerušit normální běh programu a předat řízení bloku pro zpracování výjimek.
// Příklad použití operátoru throw
try
{
int[] numbers = { 1, 2, 3 };
int index = 5;
// Ruční vyvolání výjimky IndexOutOfRangeException
if (index >= numbers.Length)
{
throw new IndexOutOfRangeException("Index je mimo rozsah pole.");
}
Console.WriteLine(numbers[index]);
}
catch (IndexOutOfRangeException ex)
{
// Zpracování výjimky
Console.WriteLine($"Chyba: {ex.Message}");
}
Operátor throw může být použit ve dvou formách:
-
throw expression;: Vyvolá novou výjimku, kdeexpressionje instance třídy, která dědí odSystem.Exception.throw new ArgumentException("Neplatný argument."); -
throw;: Znovu vyvolá aktuální výjimku v blokucatch. To zachovává všechny informace o zásobníku volání původní výjimky.try { // Kód, který může vyvolat výjimku } catch (FileNotFoundException ex) { // Další zpracování nebo logování Console.WriteLine($"Soubor nebyl nalezen: {ex.FileName}"); // Znovu vyvolat výjimku pro další zpracování výše na zásobníku throw; }
Použití throw je důležité pro:
- Signalizaci chyb nebo neočekávaných situací v aplikaci.
- Vytváření vlastních výjimek pro specifické chyby.
- Přenos informací o chybě volajícímu kódu pro správné zpracování.