Sobes.tech
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
}