Je kan ook in je eigen code uitzonderingen genereren, zodat deze elders opgevangen worden. Je kan hierbij zelf exceptions maken of gewoon gebruik maken van een bestaande Exception
-klasse.
Een voorbeeld:
"Getal is 0. Dit is niet voorzien."
is dus de boodschap die we toevoegen aan onze exception. Ze wordt "opgelost" door de boodschap gewoon te tonen. In een complexer programma zou je bijvoorbeeld de waarde van de input kunnen aanpassen en dan opnieuw de methode aanroepen.
Je kan ook eigen klassen afleiden van Exception
zodat je eigen uitzonderingen kan maken en gooien in je programma. Je maakt hiervoor gewoon een nieuwe klasse aan die je laat overerven van de ApplicationException
-klasse. Een voorbeeld:
Om deze exception nu zelf op te gooien gebruiken we het keyword throw
. In volgende voorbeeld gooien we onze eigen exception op een bepaald punt in de code en vangen deze dan op:
Overdrijf niet met eigen Exceptions. Op de pagina van SystemException vind je, onder "Derived", een heleboel kant-en-klare exceptions voor allerlei situaties.
Technisch gezien kan je ook rechtstreeks erven van Exception
en SystemException
, maar in de documentatie staat uitdrukkelijk dat je eigen klassen best afleidt van ApplicationException
.