Junior
Šta je operator throw u C#?
sobes.tech АИ
Одговор од АИ
Operator throw se koristi za eksplicitno izazivanje izuzetka. Omogućava da se normalno izvršavanje programa prekinе i kontrola preda bloku za rukovanje izuzecima.
// Primer korišćenja operatora throw
try
{
int[] numbers = { 1, 2, 3 };
int index = 5;
// Ručno izazivanje izuzetka IndexOutOfRangeException
if (index >= numbers.Length)
{
throw new IndexOutOfRangeException("Indeks je van opsega niza.");
}
Console.WriteLine(numbers[index]);
}
catch (IndexOutOfRangeException ex)
{
// Obrada izuzetka
Console.WriteLine($"Greška: {ex.Message}");
}
Operator throw može se koristiti u dve forme:
-
throw expression;: Izaziva novi izuzetak, gde jeexpressioninstanca klase koja nasleđuje odSystem.Exception.throw new ArgumentException("Nevažeći argument."); -
throw;: Ponovo pokreće trenutni izuzetak ucatchbloku. Ovo čuva sve informacije o steku poziva originalnog izuzetka.try { // Kod koji može izazvati izuzetak } catch (FileNotFoundException ex) { // Dodatna obrada ili logovanje Console.WriteLine($"Fajl nije pronađen: {ex.FileName}"); // Ponovo pokretanje izuzetka za dalju obradu na višem nivou throw; }
Korišćenje throw je važno za:
- Ukazivanje na greške ili neočekivane situacije u aplikaciji.
- Kreiranje sopstvenih izuzetaka za specifične greške.
- Prenos informacija o grešci pozivajućem kodu za ispravno rukovanje.