Junior — Middle
Care este rolul operatorului throw în interiorul blocului catch în tratarea excepțiilor?
sobes.tech AI
Răspuns de la AI
Operatorul throw din interiorul blocului catch este folosit pentru a relansa excepția curentă sau pentru a arunca una nouă.
Dacă scrii pur și simplu throw; fără parametri, excepția este relansată păstrând stiva de apeluri originală. Acest lucru este util atunci când vrei să gestionezi parțial excepția (de exemplu, să o înregistrezi) și apoi să o transmiți mai departe.
Dacă scrii throw new Exception(...), se aruncă o excepție nouă, iar stiva de apeluri va începe de la acest punct.
Exemplu de relansare:
try
{
// cod
}
catch(Exception ex)
{
Log(ex.Message);
throw; // relansează aceeași excepție
}