Junior — Middle
Qual è il ruolo dell'operatore throw all'interno del blocco catch nella gestione delle eccezioni?
sobes.tech AI
Risposta dell'AI
L'operatore throw all'interno del blocco catch viene utilizzato per rilanciare l'eccezione corrente o per lanciarne una nuova.
Se si scrive semplicemente throw; senza parametri, l'eccezione viene rilanciata mantenendo lo stack di chiamata originale. Questo è utile quando si desidera gestire parzialmente l'eccezione (ad esempio, registrandola) e poi passarla avanti.
Se si scrive throw new Exception(...), viene lanciata una nuova eccezione, e lo stack di chiamata inizierà da quel punto.
Esempio di rilancio:
try
{
// codice
}
catch(Exception ex)
{
Log(ex.Message);
throw; // rilancia la stessa eccezione
}