|
Fehlerbehandlung Impressum |
Exceptions
Tritt zur Laufzeit ein Fehler auf, so wird eine Exception ausgelöst. Jeder Exception ist eine Datenbank - Fehlernummer zugeordnet. Durch den Exception Handler kann im Programm auf das Auslösen einer Exception reagiert werden. Für die wichtigsten Fehlerfälle existieren eine Reihe von vordefinierten Exceptions. Darüber hinaus können weitere Exceptions frei definiert werden (siehe unten). Das Auslösen einer Exception führt immer zum Verlassen des aktuellen Blocks. Soll der Fehlerzustand an den übergeordneten Block weitergegeben werden, so muß dieses mit dem Befehl RAISE erfolgen. Tritt ein Laufzeitfehler ohne zugehörigen Exception Handler auf, so wird der aktuelle Block mit dem Fehlerzustand verlassen und die Fehlerbehandlung erfolgt von neuem im übergeordneten Block. Beispiel:
Vordefinierte Exceptions
Verschachtelung von Exceptions
Eine Exception gilt für den Block, in dem sie definiert ist oder wenn der Fehler in einem Subblock auftritt und dort nicht behandelt wird. Der Fehlerzustand wird mit dem Befehl RAISE weitergegeben. Beispiele:
User Defined Exceptions
Beispiel:
Zuordnung von Datenbank - Fehlernummern zu Exceptions
Über PRAGMA - Anweisungen können Datenbank - Fehlernummern Exceptions über die bereits vordefinierten hinaus zugeordnet werden. Alle Oracle - Fehlernummern können hier verwendet werden. Dabei stehen die Fehlernummern -20000 bis -20999 zusätzlich für die Programmierung frei zur Verfügung. Der Befehl raise_application_error erzeugt einen Fehlerzustand unter Angabe der Fehlernummer und des Fehlertextes. Dies ist zur Verwendung der freien Fehlernummern -20000 bis -20999 gedacht. Beispiel:
|
Fehlerbehandlung exception exceptions raise raise_appilcation_error ora Fehlernummern Fehlernummer Laufzeitfehler Beispiel Beispiele