Junior — Middle
Mi a szerepe a throw operátornak a catch blokkban kivételkezelés során?
sobes.tech MI
Válasz az MI-től
A throw operátor a catch blokkban az aktuális kivétel újrafelhasználására vagy új kivétel dobására szolgál.
Ha egyszerűen throw;-t írunk paraméter nélkül, akkor a kivétel újra dobódik az eredeti hívási veréssel. Ez hasznos, ha a kivételt részben kezelni szeretnénk (például naplózni), majd továbbítani.
Ha throw new Exception(...)-t írunk, akkor egy új kivétel dobódik, és a hívási verem ettől a ponttól kezdődik.
Példa az újrafelhasználásra:
try
{
// kód
}
catch(Exception ex)
{
Log(ex.Message);
throw; // ugyanazt a kivételt újra dobjuk
}