Inhaltsverzeichnis

Exceptions

Seit der ersten Standardisierung von C++ im Jahr 1989 gibt es mit Exceptions oder zu Deutsch 'Ausnahmen' eine neue Möglichkeit in C++ Fehler zu behandeln. Sie realisieren dabei das Prinzip der Strukturierten Fehlerbehandlung, also der Trennung des normalen Programmablaufs von der Fehlerbehandlung. Eine zentrale Rolle spielt dabei der Begriff der Exception, also ein Objekt das beim Auftreten eines Fehlers erzeugt wird, und alle Informationen über den aufgetreten Fehler beinhaltet. Da Aufgrund fehlender Informationen Fehler oft nicht direkt an der Stelle ihres Auftretens behandelt werden können werden die Exceptions an eine spezielle Fehlerbehandlungsroutine übergeben die ausreichend Kontextinformationen besitzt um den Fehler zu behandeln.

Um zu bestimmen welche Fehlerbehandlungsroutine die Richtige ist bedient man sich der sogenannten Blocküberwachung. Dabei kennzeichnet man gewisse Blöcke des Programms, welche auf ineinander verschachtelt sein können, das in ihnen Fehler auftreten können und schreibt im Anschluss an jeden Block, ein oder mehrere Fehlerbehandlungsroutinen für verschiedene Arten von Fehlern. Sollte ein Block einen Fehler nicht bearbeiten können wird er an den umgebenden Block weitergegeben, solange bis entweder ein Block den Fehler behandeln kann oder bis kein umgebender Block mehr vorhanden ist, wobei dann das Programm beendet wird.

Das Weiterreichen von Fehlern funktioniert auch über die Grenzen von Funktionen hinweg, so dass Funktionen die mit dem Fehler nichts anfangen können frei von Code zum Behandeln bzw. Weiterreichen dieses Fehlers bleiben.

Einstieg

Themen



Diskussion