In bestimmten Fällen steuert die Systemvariable 'dliVar.handleHardDLIErrors', ob die Ausführung eines Programms beim Auftreten eines permanenten Fehlers fortgesetzt wird.
Diese Variable wird von EGL lediglich aus Kompatibilitätsgründen verwaltet. Sie hat keine Auswirkungen auf E/A-Anweisungen ohne DL/I-Bezug. Für neuen Code sollte die standardmäßige Ausnahmebedingungsbehandlung verwendet werden. Wenn Sie den V6-Ausnahmemodus verwenden müssen, können Sie denselben Effekt durch Setzen von 'vgVar.handleHardIOErrors' erzielen.
Wenn entweder 'vgVar.handleHardIOErrors' oder 'dliVar.handleHardDLIErrors' auf 1 gesetzt ist und Sie einen 'onException'-Block in den try-Block einschließen, wird das Programm beim Auftreten eines permanenten DL/I-E/A-Fehlers nicht beendet. Stattdessen übergibt das Programm die Steuerung an den onException-Block, um den permanenten Fehler mittels Überprüfung der dliVar-Variablen zu behandeln.
Wenn sowohl 'vgVar.handleHardIOErrors' als auch 'dliVar.handleHardDLIErrors' auf 0 gesetzt sind oder kein onException-Block im try-Block angegeben ist, wird das Programm beim Auftreten eines permanenten Fehlers in einem DL/I-E/A-Aufruf beendet.
Der Standardwert von 'dliVar.handleHardDLIErrors' ist 1, sofern Sie nicht die Programmeigenschaft 'handleHardDLIErrors' auf NO setzen, wodurch die Variable auf 0 gesetzt wird. Die Eigenschaft 'handleHardDLIErrors ' ist für Programme und andere Hauptlogikabschnitte verfügbar.
Weitere Informationen hierzu finden Sie unter Ausnahmebedingungsbehandlung.