kennen:ausnahmen
no way to compare when less than two revisions
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | kennen:ausnahmen [2019-01-13 14:18] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Ausnahmebehandlung ====== | ||
+ | > If anything can go wrong, it will. | ||
+ | >> --- Murphy' | ||
+ | |||
+ | ===== Ausnahmen ===== | ||
+ | Eine Ausnahme (engl. exception) ist eine Situation, | ||
+ | in der das Programm nicht wie erwartet fortgesetzt werden kann. | ||
+ | Gleichzeitig besteht kaum eine Chance, | ||
+ | geeigneter auf diese Situation zu reagieren | ||
+ | als eine [[# | ||
+ | mit der der normale Programmlauf unterbrochen wird. | ||
+ | Die geworfene Ausnahme ist ein Objekt beliebigen [[.: | ||
+ | das Informationen über die Art der Ausnahmesituation enthalten kann. | ||
+ | Das Programm kann an anderer Stelle die [[# | ||
+ | und durch geeignete Anweisungen die Situation zu retten suchen. | ||
+ | Wird eine geworfene Ausnahme nicht gefangen, | ||
+ | führt sie zum (abnormalen) Programmende. | ||
+ | |||
+ | Siehe auch: | ||
+ | Schlüsselwörter [[.: | ||
+ | [[.: | ||
+ | [[.: | ||
+ | |||
+ | ==== Ausnahmen werfen ==== | ||
+ | Syntax: | ||
+ | |||
+ | > '' | ||
+ | |||
+ | ==== Ausnahmen fangen ==== | ||
+ | Syntax: | ||
+ | |||
+ | > '' | ||
+ | > '' | ||
+ | > %%//%% unsicherer Code, der Ausnahme werfen kann | ||
+ | > '' | ||
+ | > '' | ||
+ | > '' | ||
+ | > %%//%% Ausnahmebehandlung | ||
+ | > '' | ||
+ | > %%//%% weitere catch-Blöcke | ||
+ | |||
+ | Wenn im '' | ||
+ | werden alle im Block definierten Variablen abgebaut (stack unwinding). | ||
+ | Stimmt der Typ der geworfenen Ausnahme mit dem Typ einer '' | ||
+ | wird dieser '' | ||
+ | und das Programm wird nach dem letzten '' | ||
+ | |||
+ | Der Block '' | ||
+ | Im '' | ||
+ | |||
+ | ==== Ausnahmen anmelden ==== | ||
+ | Funktionen können sich im Funktionskopf verpflichten, | ||
+ | |||
+ | Syntax: | ||
+ | |||
+ | > Typ Funktionsname'' | ||
+ | |||
+ | Versucht eine undisziplinierte Funktion dennoch Ausnahmen zu werfen, | ||
+ | wird das Programm über die Funktion '' | ||
+ | |||
+ | Die in C++98 erlaubten throw-Deklarationen haben sich nicht bewährt und sind in C++17 nicht mehr erlaubt. | ||
kennen/ausnahmen.txt · Zuletzt geändert: 2019-01-13 14:18 von 127.0.0.1