C++ - Einführung und professionelle Programmierung

C++ - Einführung und professionelle Programmierung

 

 

 

von: Ulrich Breymann

Carl Hanser Fachbuchverlag, 2005

ISBN: 9783446404175

Sprache: Deutsch

753 Seiten, Download: 7461 KB

 
Format:  PDF, auch als Online-Lesen

geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop
Typ: A (einfacher Zugriff)

 

eBook anfordern

Mehr zum Inhalt

C++ - Einführung und professionelle Programmierung



10.1 Ausnahmebehandlung (S. 353-354)

Die vierte Fehlerbehandlungsstrategie von Seite 352 hat den Vorteil, dass der Programmcode, der die eigentliche Aufgabe erledigen soll, von vielen eingestreuten Fehlerprüfungen entlastet wird. C++ bietet die Ausnahmebehandlung (englisch exception handling) an, die ebenfalls den Fehlerbehandlungscode vom »normalen« Programm sauber trennt und die eine spezielle Abfrage von Fehlerparametern an vielen Stellen im Programm überflüssig macht. Zu unterscheiden ist zwischen der Erkennung von Fehlern wie zum Beispiel

– Division durch Null,
– Bereichsüberschreitung eines Arrays,
– Syntaxfehler bei Eingaben,
– Zugriff auf eine nichtgeöffnete Datei,
– Fehlschlag der Speicherbeschaffung oder
– Nichteinhaltung der Vorbedingung einer Methode

und der Behandlung von Fehlern. Die Erkennung ist in der Regel einfach, die Behandlung schwierig und häufig genug unmöglich, sodass ein Programm gegebenenfalls abgebrochen werden muss. Außer den vorhersehbaren Fehlern gibt es natürlich noch andere! Die Fehlerbehandlung sollte einen von zwei Wegen einschlagen:

• Den Fehler beheben und den Programmlauf fortsetzen oder, falls das nicht gelingt, das Programm mit einer aussagefähigen Meldung abbrechen oder

• den Fehler an das aufrufende Programm melden, das ihn dann ebenfalls auf eine dieser beiden Arten bearbeiten muss.

Für den Fall, dass Fehler in einer Funktion vom Aufrufer behandelt werden können, stellt C++ alternativ zur vierten Strategie auf Seite 352 die Ausnahmebehandlung zur Verfügung. Der Ablauf lässt sich wie folgt skizzieren:

1. Eine Funktion versucht (englisch try) die Erledigung einer Aufgabe.
2. Wenn sie einen Fehler feststellt, den sie nicht beheben kann, wirft (englisch throw) sie eine Ausnahme (englisch exception) aus.
3. Die Ausnahme wird von einer Fehlerbehandlungsroutine aufgefangen (englisch catch), die den Fehler bearbeitet.

try und catch

Die Funktion kann der Fehlerbehandlungsroutine ein Objekt eines beliebigen Datentyps »zuwerfen«, um Informationen zu übergeben. Im Unterschied zu der oben erwähnten vierten Strategie wird nach der Fehlerbehandlung nicht in die Funktion zurückgesprungen. Das Programm wird vielmehr mit dem der Fehlerbehandlung folgenden Code fortgesetzt. Wenn aus einem Block herausgesprungen wird, werden die Destruktoren aller in diesem Block definierten automatischen Objekte aufgerufen. Das folgende Schema zeigt die syntaktische Struktur.

Kategorien

Service

Info/Kontakt

  Info
Hier gelangen Sie wieder zum Online-Auftritt Ihrer Bibliothek