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.