Sie können die Programmeigenschaft 'v60ExceptionCompatibility' auf YES setzen, um zur Ausnahmebedingungsbehandlung von EGL Version 6.0
zurückzukehren. Siehe v60ExceptionCompatibility.
Wenn Sie Code von Version 6 migrieren, wird die Eigenschaft 'v60ExceptionCompatibility' von EGL automatisch auf YES
gesetzt. Beachten Sie, dass es möglich ist, diese Eigenschaft in verschiedenen Programmen in einer Ausführungseinheit auf unterschiedliche Werte zu setzen.
Diese Vorgehensweise birgt jedoch Gefahren.
Wenn die Ausführungseinheit keinen migrierten Code enthält, wird der V6-Ausnahmemodus für die Entwicklung neuen Codes nicht empfohlen.
Wenn Sie '
v60ExceptionCompatibility' auf YES setzen, können Sie im Anschluss an die meisten Systemfunktionsaufrufe (Aufrufe an
Bibliotheken wie beispielsweise die EGL-Bibliotheken 'mathLib' und 'sysLib') auf die Systemvariable '
sysVar.errorCode'
zugreifen. Wenn Sie sich nicht im V6-Ausnahmemodus befinden, ist der Wert von
'
sysVar.errorCode' unter diesen Umständen nicht definiert. Um nach einem Systemfunktionsaufruf auf
'
sysVar.errorCode' zugreifen zu können, müssen Sie eine der folgenden Aktionen ausführen:
- Schließen Sie den Funktionsaufruf, in dem der Fehler auftritt, in einen try-Block ein.
- Setzen Sie die Systemvariable 'vgVar.handleSysLibraryErrors' auf 1 (siehe
handleSysLibraryErrors).
Wenn in den folgenden Situationen ein Fehler auftritt, wird das Programm unverzüglich beendet:
- Sie befinden sich im V6-Ausnahmemodus.
- Der Fehler tritt außerhalb eines try-Blocks auf.
- 'vgVar.handlesysLibraryErrors' ist auf 0 gesetzt.
Wenn die Ausführung im V6-Ausnahmemodus erfolgt, führt ein permanenter E/A-Fehler zur Beendigung des Programms, sofern der Fehler nicht in einem
try-Block auftritt und Sie außerdem nicht eine der folgenden Variablen auf 1 setzen:
- vgVar.handleHardIOErrors: Diese Variable veranlasst EGL, permanente E/A-Fehler in einem beliebigen E/A-Aufruf (einschließlich
Aufrufen, die DL/I-Datensätze betreffen) zu bearbeiten.
- dliVar.handleHardDLIErrors: Diese Variable veranlasst EGL, nur diejenigen permanenten E/A-Fehler zu bearbeiten,
die auf Datensätze mit dem Stereotyp 'DLISegment' verweisen.