Wird die Eigenschaft '
v60ExceptionCompatibility' auf YES gesetzt, hat dies folgende Auswirkungen:
- Sie können nur einen einzigen onException-Block in einem
try-Block verwenden, und es kann kein Ausnahmebedingungstyp angegeben werden.
- Mithilfe der Variablen 'sysLib.currentException' können Sie die Art des Problems bestimmen. Diese Variable ist
nur im V6-Kompatibilitätsmodus verfügbar.
- Ausnahmebedingungen werden nicht über die Grenzen des Bereichs hinaus weitergegeben, in dem sie auftreten.
Tritt beispielsweise ein Fehler innerhalb einer von einem try-Block aufgerufenen Funktion auf, erhält der
try-Block niemals einen Hinweis darauf, dass die Ausnahmebedingung ausgelöst wurde.
- Permanente E/A-Fehler führen zur Beendigung der Anwendung, sofern Sie nicht die Programmeigenschaft 'handleHardIOErrors' auf YES
setzen. In diesem Fall löst EGL eine Ausnahmebedingung aus, damit das Programm den permanenten E/A-Fehler selbst bearbeiten kann.
- Sie können keine eigenen Ausnahmebedingungen auslösen.
EGL setzt 'v60ExceptionCompatibility' automatisch auf YES, wenn Code aus EGL Version 6 oder
VisualAge Generator migriert wird. Für neuen Code ist diese Eigenschaft nicht erforderlich. Sie können
diese Eigenschaft in verschiedenen Programmen in einer Ausführungseinheit auf unterschiedliche Werte setzen.
Diese Vorgehensweise kann jedoch Fehler verursachen.
Kompatibilität
Tabelle 1. Hinweise zur Kompatibilität für die Eigenschaft 'v60ExceptionCompatibility'| Plattform |
Problem |
| COBOL-Generierung |
Wird die Eigenschaft 'v60ExceptionCompatibility' auf YES gesetzt, wird bei nicht behandelten
Ausnahmebedingungen die Fehleranzeige wie in Version 6 angezeigt. Wird diese Eigenschaft auf NO gesetzt, wird ein ELAX-Abbruch angezeigt, und die Nachrichten werden
in die ELAD-Warteschlange geschrieben. |