Wenn die Ausführung im V6-Ausnahmemodus erfolgt, verwenden Sie die Systemvariable 'sysLib.currentException', um Informationen zu eventuellen Ausnahmebedingungen zu erfassen, die in der Ausführungseinheit ausgelöst wurden.
Weitere Informationen zum V6-Ausnahmemodus finden Sie unter V6-Ausnahmebedingungskompatibilität verwenden.
Wenn Ihr Code im V6-Ausnahmekompatibilitätsmodus auf einen onException-Block trifft, wird 'sysLib.currentException' von EGL mit Informationen zum betreffenden Problem gefüllt. Im Gegensatz zu Ausnahmebedingungen nach V6, bei denen es sich um Datensätze handelt, ist 'sysLib.currentException' ein Wörterverzeichnis, dessen Schlüssel vom Typ der ausgelösten Ausnahmebedingung abhängen.
'sysLib.currentException' verfügt immer über einen Schlüssel namens 'code'. Dieser Schlüssel ist eine Zeichenfolge, die die Ausnahmebedingung angibt.
Der Zugriff auf die Ausnahmebedingungsfelder ist nur in einem onException-Block möglich. Wenn Ihr Code auf 'sysLib.currentException' zugreift, ohne dass EGL eine Ausnahmebedingung ausgelöst hat, wird die Ausführungseinheit beendet.
Im folgenden Beispiel bestimmt das Programm die aktuelle Ausnahmebedingung, indem das Feld 'code' getestet wird:
if (userRequest == "A")
try
add record1;
onException
case (sysLib.currentException.code)
when ("com.ibm.egl.FileIOException")
myErrorHandler(12);
when ("com.ibm.egl.InvocationException")
myErrorHandler(13);
otherwise
myErrorHandler(15);
end
end
end
| Plattform | Problem |
|---|---|
| COBOL-Generierung | Die Variable 'sysLib.currentException' wird nicht unterstützt. |
| JavaScript-Generierung | Die Variable 'sysLib.currentException' wird nicht unterstützt. |