Junior — Middle
Wat is de rol van de throw-operator binnen de catch-blok bij het afhandelen van uitzonderingen?
sobes.tech AI
Antwoord van AI
De throw-operator binnen de catch-blok wordt gebruikt om de huidige uitzondering opnieuw te werpen of een nieuwe te werpen.
Als je gewoon throw; zonder parameters schrijft, wordt de uitzondering opnieuw geworpen met behoud van de oorspronkelijke call stack. Dit is handig wanneer je de uitzondering gedeeltelijk wilt afhandelen (bijvoorbeeld loggen) en deze vervolgens wilt doorgeven.
Als je throw new Exception(...) schrijft, wordt een nieuwe uitzondering geworpen, en begint de call stack vanaf dat punt.
Voorbeeld van her-werpen:
try
{
// code
}
catch(Exception ex)
{
Log(ex.Message);
throw; // werpt dezelfde uitzondering opnieuw
}