Firebird Documentation IndexFirebird 2.5 SprachreferenzStatements der Data Definition (DDL) → EXCEPTION
Firebird Home Firebird Home Zurück: SEQUENCE (GENERATOR)Firebird Documentation IndexNach oben: Statements der Data Definition (DDL)Weiter: COLLATION

EXCEPTION

Inhaltsverzeichnis

CREATE EXCEPTION
ALTER EXCEPTION
CREATE OR ALTER EXCEPTION
DROP EXCEPTION
RECREATE EXCEPTION

In diesem Abschnitt wird beschrieben, wie benutzerdefinierte Ausnahmen zur Verwendung in Fehlerbehandlungsroutinen in PSQL-Modulen erstellt, geändert und gelöscht werden.

CREATE EXCEPTION

Benutzt für:  Erstellen einer neuen Ausnahme für die Verwendung in PSQL-Modulen

Verfügbar in: DSQL, ESQL

Syntax: 

CREATE EXCEPTION exception_name 'message'
        

Tabelle 5.36. CREATE EXCEPTION Statement-Parameter

Parameter Beschreibung
exception_name Name der Ausnahme. Die maximale Länge beträgt 31 Zeichen
message Standardfehlermeldung. Die maximale Länge beträgt 1.021 Zeichen


Die Anweisung CREATE EXCEPTION erstellt eine neue Ausnahme zur Verwendung in PSQL-Modulen. Wenn eine Ausnahme desselben Namens existiert, schlägt die Anweisung mit einer entsprechenden Fehlermeldung fehl.

Der Name der Ausnahme ist eine Standardkennung. In einer Dialekt 3-Datenbank kann sie in doppelte Anführungszeichen eingeschlossen werden, um Groß- und Kleinschreibung zu berücksichtigen und bei Bedarf Zeichen zu verwenden, die in regulären Bezeichnern nicht gültig sind. Weitere Informationen finden Sie unter Bezeichner.

Die Standardnachricht wird im Zeichensatz NONE gespeichert, d.h. In Zeichen eines Einbytezeichensatzes. Der Text kann im PSQL-Code überschrieben werden, wenn die Ausnahme ausgelöst wird.

Jeder Benutzer, der mit der Datenbank verbunden ist, kann eine Ausnahme erstellen.

Beispiele: 

  1. Erstellen einer Ausnahme mit dem Namen E_LARGE_VALUE:
    CREATE EXCEPTION E_LARGE_VALUE
           'The value is out of range';
                
  2. Erstellen einer Ausnahme mit dem Namen ERROR_REFIN_RATE:
    CREATE EXCEPTION ERROR_REFIN_RATE
      'Error detected in the spread of discount rates';
                

Tipps

Die Zusammenfassung von CREATE EXCEPTION-Anweisungen in Systemaktualisierungsskripts vereinfacht die Arbeit mit ihnen und dokumentiert sie. Ein System von Präfixen zum Benennen und Kategorisieren von Gruppen von Ausnahmen wird empfohlen.

Benutzerdefinierte Ausnahmen werden in der Systemtabelle gespeichert RDB$EXCEPTIONS.

Siehe auch:  ALTER EXCEPTION, CREATE OR ALTER EXCEPTION, DROP EXCEPTION, RECREATE EXCEPTION

ALTER EXCEPTION

Benutzt für:  Ändern der Nachricht, die von einer benutzerdefinierten Ausnahme zurückgegeben wird

Verfügbar in: DSQL, ESQL

Syntax: 

ALTER EXCEPTION exception_name 'message'
        

Tabelle 5.37. ALTER EXCEPTION Statement-Parameter

Parameter Beschreibung
exception_name Name der Ausnahme
message Neue Standardfehlermeldung. Die maximale Länge beträgt 1.021 Zeichen


Die Anweisung ALTER EXCEPTION kann jederzeit verwendet werden, um den Standardtext der Nachricht zu ändern. Jeder Benutzer, der mit der Datenbank verbunden ist, kann eine Ausnahmemeldung ändern.

Beispiele: 

  1. Ändern der Standardnachricht für die Ausnahme E_LARGE_VALUE:
    ALTER EXCEPTION E_LARGE_VALUE
           'The value exceeds the prescribed limit of 32,765 bytes';
                
  2. Ändern der Standardnachricht für die Ausnahme ERROR_REFIN_RATE:
    ALTER EXCEPTION ERROR_REFIN_RATE 'Rate is outside the allowed range';
                

Siehe auch:  CREATE EXCEPTION, CREATE OR ALTER EXCEPTION, DROP EXCEPTION, RECREATE EXCEPTION

CREATE OR ALTER EXCEPTION

Benutzt für:  Ändern der Nachricht, die von einer benutzerdefinierten Ausnahme zurückgegeben wird, wenn die Ausnahme existiert; andernfalls erstellen Sie eine neue Ausnahme

Verfügbar in: DSQL

Syntax: 

CREATE OR ALTER EXCEPTION exception_name 'message'
        

Tabelle 5.38. CREATE OR ALTER EXCEPTION Statement-Parameter

Parameter Beschreibung
exception_name Name der Ausnahme
message Fehlermeldung. Die maximale Länge ist auf 1.021 Zeichen begrenzt


Die Anweisung CREATE ODER ALTER EXCEPTION wird verwendet, um die angegebene Ausnahme zu erstellen, falls sie nicht existiert, oder um den Text der von ihr zurückgegebenen Fehlermeldung zu ändern. Wenn eine vorhandene Ausnahme durch diese Anweisung geändert wird, bleiben vorhandene Abhängigkeiten erhalten.

Jeder Benutzer, der mit der Datenbank verbunden ist, kann diese Anweisung verwenden, um eine Ausnahme zu erstellen oder den bereits vorhandenen Text zu ändern.

Beispiel:  Nachricht für die Ausnahme ändern E_LARGE_VALUE:

CREATE OR ALTER EXCEPTION E_LARGE_VALUE
       'The value is higher than the permitted range 0 to 32,765';
            

Siehe auch:  CREATE EXCEPTION, ALTER EXCEPTION, RECREATE EXCEPTION

DROP EXCEPTION

Benutzt für:  Löschen einer benutzerdefinierten Ausnahme

Verfügbar in: DSQL, ESQL

Syntax: 

DROP EXCEPTION exception_name
        

Tabelle 5.39. DROP EXCEPTION Statement-Parameter

Parameter Beschreibung
exception_name Name der Ausnahme


Die Anweisung DROP EXCEPTION wird zum Löschen einer Ausnahme verwendet. Alle Abhängigkeiten von der Ausnahme führen dazu, dass die Anweisung fehlschlägt und nicht gelöscht wird.

Wenn eine Ausnahme nur in gespeicherten Prozeduren verwendet wird, kann sie jederzeit gelöscht werden. Wenn es in einem Auslöser verwendet wird, kann es nicht gelöscht werden.

Bei der Planung, eine Ausnahme zu löschen, sollten alle Verweise darauf aus dem Code der gespeicherten Prozeduren entfernt werden, um zu vermeiden, dass die Abwesenheit Fehler verursacht.

Jeder Benutzer, der mit der Datenbank verbunden ist, kann eine Ausnahme löschen.

Beispiele: 

  1. Ausnahme löschen ERROR_REFIN_RATE:
    DROP EXCEPTION ERROR_REFIN_RATE;
                
  2. Ausnahme löschen E_LARGE_VALUE:
    DELETE EXCEPTION E_LARGE_VALUE;
                

Siehe auch:  CREATE EXCEPTION, RECREATE EXCEPTION

RECREATE EXCEPTION

Benutzt für:  Eine neue benutzerdefinierte Ausnahme oder eine bestehende erstellen

Verfügbar in: DSQL

Syntax: 

RECREATE EXCEPTION exception_name 'message'
        

Tabelle 5.40. RECREATE EXCEPTION Statement-Parameter

Parameter Beschreibung
exception_name Name der Ausnahme. Die maximale Länge beträgt 31 Zeichen
message Fehlermeldung. Die maximale Länge ist auf 1.021 Zeichen begrenzt


Die Anweisung RECREATE EXCEPTION erstellt eine neue Ausnahme für die Verwendung in PSQL-Modulen. Wenn bereits eine Exception mit demselben Namen existiert, versucht die Anweisung RECREATE EXCEPTION, diese zu löschen und eine neue zu erstellen. Wenn es Abhängigkeiten zur bestehenden Ausnahme gibt, schlägt die versuchte Löschung fehl und RECREATE EXCEPTION wird nicht ausgeführt.

Jeder Benutzer, der mit der Datenbank verbunden ist, kann eine Ausnahme erstellen.

Beispiel:  Wiederherstellen der Ausnahme E_LARGE_VALUE:

RECREATE EXCEPTION E_LARGE_VALUE 
       'The value exceeds its limit';
            

Siehe auch:  CREATE EXCEPTION, DROP EXCEPTION, CREATE OR ALTER EXCEPTION

Zurück: SEQUENCE (GENERATOR)Firebird Documentation IndexNach oben: Statements der Data Definition (DDL)Weiter: COLLATION
Firebird Documentation IndexFirebird 2.5 SprachreferenzStatements der Data Definition (DDL) → EXCEPTION