Hilfe für die Demo-Anwendung Ausnahmen
1. OverflowException
Der Overflow entsteht weil zur größtmöglichen
Integer-Zahl in einem 32-bit-System eine Eins hinzuaddiert wird.
Durch das Schlüsselwort "checked" wird der
auftretende Overflow aufgefangen.
Im Gegenzug kann mit "unchecked" die Auslösung
der Overflow-Ausnahme unterdrückt werden.
Im catch-Block wird die zugehörige
HelpLink-Adresse für diesen Fehler zugewiesen, damit Sie dann auch an dieser
Stelle landen.
Als nächstes wird die Ausnahme in den vorher
angelegten Stack abgelegt und zuletzt wird erneut eine Ausnahme ausgelöst,
diesmal vom Typ "Benutzerexception", welche eine zusätzliche Information
aufnehmen kann.
2. BenutzerException
Die von ApplicationException abgeleitete Klasse
BenutzerException impliziert keine eigene Funktionalität, sondert leitet die
Overflow-Ausnahme nur weiter.
Dabei wird eine zweite Textnachricht mitgegeben.
Diese dient hier dazu, den Wert der Variablen welche den Überlauf verursacht in
die Fehlermeldung aufzunehmen.
Natürlich wäre es einfacher gewesen den "string"
vorher zusammenzubauen und als Parameter message zu übergeben.
Hier soll jedoch die Erstellung einer
benutzerdefinierten Ausnahmeklasse demonstriert werden.
3. ApplicationException
Die Klasse ApplicationException ist direkt von
der Klasse Exception abgeleitet und verkörpert somit die allgemeinsten
Anwendungsfehler.
Die in 1. ausgelöste OverflowException, welche
indirekt von
SystemException abgeleitet ist, wird durch die Kapselung in 2. hier als
ApplicationException aufgefangen.
Werden jedoch in der Ausnahmekette weitere
SystemExceptions außer Overflow ausgelöst, werden diese hier nicht aufgefangen;
das Programm stürzt also ab.
|