Sobes.tech
Junior

Mi az a throw operátor a C#-ban?

sobes.tech MI

Válasz az MI-től

A throw operátor használatával kifejezetten kivételt lehet dobni. Ez lehetővé teszi a program normál végrehajtásának megszakítását és az irányítás átadását a kivételkezelő blokkhoz.

// A throw operátor használatának példája
try
{
    int[] numbers = { 1, 2, 3 };
    int index = 5;

    // Kézi IndexOutOfRangeException kivétel dobása
    if (index >= numbers.Length)
    {
        throw new IndexOutOfRangeException("A index a tömb határain kívül van.");
    }

    Console.WriteLine(numbers[index]);
}
catch (IndexOutOfRangeException ex)
{
    // Kivétel kezelése
    Console.WriteLine($"Hiba: {ex.Message}");
}

A throw operátor két formában használható:

  1. throw expression;: Új kivételt dob, ahol az expression egy olyan példány, amely az System.Exception osztályból származik.

    throw new ArgumentException("Érvénytelen argumentum.");
    
  2. throw;: Újra dobja a jelenlegi kivételt a catch blokkban. Ez megőrzi az eredeti kivétel hívási veremének összes információját.

    try
    {
        // Kód, amely kivételt okozhat
    }
    catch (FileNotFoundException ex)
    {
        // További feldolgozás vagy naplózás
        Console.WriteLine($"A fájl nem található: {ex.FileName}");
    
        // A kivétel újra dobása a verem felsőbb szintjén való további feldolgozás céljából
        throw;
    }
    

A throw használata fontos:

  • Hibák vagy váratlan helyzetek jelzésére az alkalmazásban.
  • Saját kivételek létrehozására specifikus hibákhoz.
  • Hiba információk átadására a hívó kódnak a helyes kezelés érdekében.