Junior
Ce este operatorul throw în C#?
sobes.tech AI
Răspuns de la AI
Operatorul throw este utilizat pentru a genera explicit o excepție. Acesta permite întreruperea execuției normale a programului și transferul controlului către blocul de tratare a excepțiilor.
// Exemplu de utilizare a operatorului throw
try
{
int[] numbers = { 1, 2, 3 };
int index = 5;
// Generarea manuală a unei excepții IndexOutOfRangeException
if (index >= numbers.Length)
{
throw new IndexOutOfRangeException("Indexul se află în afara limitelor array-ului.");
}
Console.WriteLine(numbers[index]);
}
catch (IndexOutOfRangeException ex)
{
// Tratarea excepției
Console.WriteLine($"Eroare: {ex.Message}");
}
Operatorul throw poate fi utilizat în două forme:
-
throw expression;: Generază o nouă excepție, undeexpressioneste o instanță a unei clase moștenite deSystem.Exception.throw new ArgumentException("Argument invalid."); -
throw;: Re-apelează excepția curentă în bloculcatch. Acest lucru păstrează toate informațiile despre stiva de apeluri a excepției originale.try { // Cod care poate genera o excepție } catch (FileNotFoundException ex) { // Tratare suplimentară sau logare Console.WriteLine($"Fișierul nu a fost găsit: {ex.FileName}"); // Re-generarea excepției pentru tratarea ulterioară mai sus în stivă throw; }
Utilizarea throw este importantă pentru:
- Indicare erori sau situații neașteptate în aplicație.
- Crearea de excepții personalizate pentru erori specifice.
- Transmiterea informațiilor despre eroare către codul apelant pentru o tratare corectă.