Wenn Sie im V6-Ausnahmemodus arbeiten (siehe 'V6-Ausnahmekompatibilität verwenden'), können Sie mithilfe der Systemvariablen vgVar.handleOverflow angeben, wie EGL Fehler nach dem Überlauf behandelt. In den meisten Fällen können Sie die Standardeinstellung (0) dieser Variable übernehmen.
Wenn Sie nicht im V6-Ausnahmemodus arbeiten, führt der Variablenüberlauf dazu, dass EGL eine Laufzeitausnahmebedingung auslöst.
Tritt ein Überlauf während einer Zuweisung auf und Sie verarbeiten Überläufe, wird der Zielvariablen ein Abschnitt des Quellenwerts zugewiesen.
Sie können vgVar.handleOverflow auf einen der Werte in der folgenden Tabelle festlegen:
| Wert | Effekt |
|---|---|
| 0 (Standardwert) | Der EGL-Laufzeitcode legt die Systemvariable sysVar.overflowIndicator auf 1 fest und wird fortgesetzt. Sie können den Standardwert für vgVar.handleOverflow mithilfe des symbolischen Parameters HANDLEOVERFLOW während der COBOL-Generierung überschreiben. Weitere Informationen finden Sie unter 'Vordefinierte symbolische Parameter, die vom Benutzer festgelegt werden können'. |
| 1 | EGL löst eine Laufzeitausnahmebedingung (RuntimeException) aus. |
| 2 | Der EGL-Laufzeitcode legt die Systemvariable sysVar.overflowIndicator auf 1 fest und wird fortgesetzt. Dieser Wert hat die gleichen Auswirkungen wie der Wert 0 und wird für die Kompatibilität mit früheren Versionen beibehalten. |
Das folgende Beispiel zeigt die Variable vgVar.handleOverflow:
vgVar.handleOverflow = 1;
| Plattform | Problem |
|---|---|
| COBOL-Generierung | vgVar.handleOverflow wird ignoriert, es sei denn, Sie setzen die Erstellungsdeskriptoroption checkNumericOverflow auf YES. Wenn Sie checkNumericOverflow auf
NO setzen und im V6-Ausnahmemodus arbeiten, wird das Programm beendet, wenn einer der beiden Überlauftypen auftritt. Sie können den symbolischen Parameter HANDLEOVERFLOW verwenden, um den Standardwert für vgVar.handleOverflow zu ändern. |