Sobes.tech
Junior

Čo je operátor throw v C#?

sobes.tech AI

Odpoveď od AI

Operátor throw sa používa na priame vyvolanie výnimky. Umožňuje prerušiť bežné vykonávanie programu a previesť riadenie na blok spracovania výnimiek.

// Príklad použitia operátora throw
try
{
    int[] numbers = { 1, 2, 3 };
    int index = 5;

    // Ručné vyvolanie výnimky IndexOutOfRangeException
    if (index >= numbers.Length)
    {
        throw new IndexOutOfRangeException("Index je mimo rozsah poľa.");
    }

    Console.WriteLine(numbers[index]);
}
catch (IndexOutOfRangeException ex)
{
    // Spracovanie výnimky
    Console.WriteLine($"Chyba: {ex.Message}");
}

Operátor throw môže byť použitý v dvoch formách:

  1. throw expression;: Vyvolá novú výnimku, kde expression je inštancia triedy, ktorá dedí od System.Exception.

    throw new ArgumentException("Neplatný argument.");
    
  2. throw;: Znovu vyvolá aktuálnu výnimku v bloku catch. To zachová všetky informácie o zásobníku volaní pôvodnej výnimky.

    try
    {
        // Kód, ktorý môže vyvolať výnimku
    }
    catch (FileNotFoundException ex)
    {
        // Dodatočné spracovanie alebo logovanie
        Console.WriteLine($"Súbor sa nenašiel: {ex.FileName}");
    
        // Znovu vyvolať výnimku pre ďalšie spracovanie vyššie v zásobníku
        throw;
    }
    

Použitie throw je dôležité pre:

  • Signalizáciu chýb alebo neočakávaných situácií v aplikácii.
  • Vytváranie vlastných výnimiek pre špecifické chyby.
  • Prenos informácií o chybe na volajúci kód pre správne spracovanie.