EGL-Ausnahmedatensätze

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.

Feedback