throw

Die EGL-Anweisung 'throw' gibt eine Ausnahmebedingung an, die ausgelöst werden soll. Dies hat die folgenden Effekte:
Geben Sie einen Ausnahmebedingungsausdruck (einen Ausdruck, der in den Typ einer Ausnahmebedingungsvariablen aufgelöst wird; siehe Der Stereotyp 'Exception') mit der Anweisung 'throw' an. Solch ein Ausdruck kann beispielsweise die folgenden beiden Formate annehmen:
// Wenn die Ausnahmebedingung bereits definiert ist
nullEx NullValueException;
...
throw nullEx;

// Definieren und deklarieren
Record CustomerException type Exception
  customerNumber INT;
end
...
throw new customerException { 
  customerNumber = custNum,
  message = "Illegal customer number" };

Ausnahmebedingungen werden vom Fehlerpunkt ausgehend nach oben weitergegeben. Eine try-Anweisung kann Ausnahmebedingungen bearbeiten, die in beliebigen Funktionen auftreten, die über den try-Block aufgerufen werden, unabhängig davon, wie tief diese Funktionen verschachtelt sind. Weitere Informationen zum Prozess der Ausnahmebedingungsbehandlung finden Sie unter Ausnahmebedingungsbehandlung.

Syntax

Syntaxdiagramm für die Anweisung 'throw'
Ausnahmebedingungsausdruck
Ein Ausdruck, dessen Wert denselben Typ aufweist wie eine Ausnahmebedingungsvariable.

Kompatibilität

Tabelle 1. Hinweise zur Kompatibilität für 'throw'
Plattform Problem
V6-Ausnahmebedingungskompatibilitätsmodus Ist die Programmeigenschaft 'v60ExceptionCompatibility' auf YES gesetzt, ist die Anweisung 'throw' nicht gültig.

Feedback