In EGL sind die folgenden Basisdatensätze für Ausnahmebedingungen definiert. Weitere
Ausnahmedatensätze sind für verschiedene Datenzugriffsmethoden definiert. Am Ende dieses
Abschnitts finden Sie unter der Überschrift 'Zugehörige Referenz' möglicherweise Abschnitte
zu Methoden,
die für Sie relevant sind.
Darüber hinaus kann Ihr Code eine Prüfung auf 'AnyException' beinhalten, um so alle im Folgenden
aufgeführten Ausnahmebedingungen abzufangen. Dazu folgendes Beispiel:
try
get myCustomer;
onException(ex AnyException)
myErrorHandler(ex);
end
Die folgenden Felder sind automatisch für alle nachfolgend angegebenen Ausnahmebedingungen
vordefiniert:
- messageID
- Eine Zeichenfolge mit dem EGL-Fehlercode für die Ausnahmebedingung.
- message
- Eine Zeichenfolge mit einer kurzen Erläuterung zum Fehler.
Die folgenden Ausnahmebedingungen sind Bestandteil der EGL-Kernfunktionalität:
- FileIOException
- Bei dem Versuch, eine indexierte, relative oder serielle Datei zu lesen oder in eine derartige
Datei zu schreiben, ist ein Fehler aufgetreten. Der Datensatz enthält zusätzlich das folgende
implizite Feld:
- filename
- Der Name der Datei, auf die zugegriffen wurde, als der Fehler aufgetreten ist.
- IndexOutOfBoundsException
- Wird in allen Situationen ausgelöst, in denen ein Index einen Wert aufweist, der außerhalb des
gültigen Bereichs für den jeweiligen Kontext liegt. Diese Ausnahmebedingung tritt typischerweise beim
Zugriff auf Feldgruppen, bei Ausdrücken mit Unterzeichenfolgen und einigen Systemfunktionen
ein. Der
Datensatz enthält zusätzlich das folgende implizite Feld:
- indexValue
- Der Wert, der außerhalb des gültigen Bereichs liegt.
- InvocationException
- Wird ausgelöst bei call-Anweisungen, bei denen der Aufruf eines
fernen Programms nicht durchgeführt werden konnte. Der Fehlercode erläutert, warum das
Programm nicht von EGL aufgerufen werden kann. Der Datensatz enthält zusätzlich das folgende Feld:
- name
- Der Name des Programms, das nicht aufgerufen werden kann.
- returnValue
- Speichert den Rückgabecode der aufgerufenen Funktion oder null, wenn
diese Ausnahmebedingung durch andere Umstände verursacht wurde.
- errno
- Ermöglicht den Zugriff auf diesen C-Standardbibliothekswert, der von Serviceprogrammen und
gemeinsamen Bibliotheken festgelegt wird. Dieser Wert wird nur festgelegt, wenn
returnValue ungleich null ist.
- JavaObjectException
- Diese EGL-Ausnahmebedingung wird nur ausgelöst, wenn eine
Java™-Ausnahmebedingung in einem
Java-Objekt ausgelöst wird, auf das das Programm über einen
ExternalType-Abschnitt zugreift. Siehe ExternalType-Abschnitt.
- LobProcessingException
- Gibt einen Fehler an, der bei der Verarbeitung einer Variablen des Typs BLOB oder CLOB
aufgetreten ist. Der Datensatz enthält zusätzlich die folgenden Felder:
- itemName
- Der Name der Variablen.
- operation
- Der Name der EGL-Systemfunktion, die nicht verarbeitet werden kann.
- resource
- Der Name der Datei (soweit vorhanden), die zu der Variablen gehört.
- NullValueException
- Wird immer dann ausgelöst, wenn eine Referenz auf einen Nullwert verweist.
- RuntimeException
- Wird ausgelöst, wenn Plattformfehler auftreten. Das Feld messageID
enthält den Plattformfehlercode. Das Feld message enthält die
zugehörige Nachricht, soweit eine Nachricht abgerufen werden kann. Ist dies nicht der Fall,
können Sie anhand von messageID feststellen, bei welcher Plattform- oder
EGL-Einrichtung ein Fehler aufgetreten ist und die entsprechende Nachricht
in der zugehörigen
Dokumentation nachlesen.
- ServiceBindingException
- Wird ausgelöst, wenn in der Implementierungsdeskriptordatei das falsche Binding angegeben
ist.
- ServiceInvocationException
- Wird ausgelöst, wenn der angeforderte Service von EGL nicht aufgerufen werden kann. Bei
nativen Services wird diese Ausnahmebedingung auch ausgelöst, wenn der Rückgabecode nicht
gleich null ist. Der Datensatz enthält zusätzlich die folgenden Felder:
- source
- Je nach dem Typ des Serviceaufrufs EGL, NATIVE oder WEB.
- detail1
- Ist das Feld source mit WEB definiert, gibt dieser Wert
den Fehlercodewert (FaultCode) des SOAP-Fehlers an. Ist source mit
EGL oder NATIVE definiert, ist das Feld detail1 leer.
- detail2
- Ist das Feld source mit WEB definiert, gibt dieser Wert den
SOAP-Akteurwert (SOAPActor) des SOAP-Fehlers an. Ist source mit EGL oder
NATIVE definiert, ist das Feld detail2 leer.
- detail3
- Ist das Feld source mit WEB definiert, gibt dieser Wert den
Diagnosewert (Diagnostic) des SOAP-Fehlers an. Ist source mit EGL oder
NATIVE definiert, ist das Feld detail3 leer.
- TypeCastException
- Diese Ausnahmebedingung unterstützt den Operator as.
Sie wird ausgelöst, wenn der umzusetzende Wert nicht dem vom Operator
as
angegebenen Typ entspricht. Der Datensatz enthält zusätzlich die folgenden Felder:
- castToName
- Der vom Operator as benannte Typ.
- actualTypeName
- Der Typname der Wertumsetzung.
- XMLProcessingException
- Diese Ausnahmebedingung kann auftreten, wenn Sie eine XML-Zeichenfolge in einen
Datensatz konvertieren oder umgekehrt. Der Datensatz enthält ein einziges zusätzliches Feld:
- detail
- Eine Fehlernachricht einer zugrunde liegenden Technologie. Es kann sich z. B.
um einen SAX-Parserfehler, einen DOM-Parserfehler oder einen XPath-Verarbeitungsfehler handeln.