Junior — Middle
Koja je uloga operatora throw unutar catch bloka u obradi izuzetaka?
sobes.tech АИ
Одговор од АИ
Operator throw unutar catch bloka se koristi za ponovno podizanje trenutnog izuzetka ili za podizanje novog.
Ako napišete jednostavno throw; bez parametara, izuzetak se ponovo podiže sačuvanim originalnim stekom poziva. Ovo je korisno kada želite delimično da obradite izuzetak (npr. da ga zabeležite) i zatim ga prosledite dalje.
Ako napišete throw new Exception(...), podiže se novi izuzetak, i stek poziva će početi od tog mesta.
Primer ponovnog podizanja:
try
{
// kod
}
catch(Exception ex)
{
Log(ex.Message);
throw; // ponovo podižemo isti izuzetak
}