overflowIndicator
EGL setzt die Systemvariable 'sysVar.overflowIndicator' auf 1, wenn alle folgenden Bedingungen erfüllt sind:
- Sie verwenden den V6-Ausnahmemodus (siehe V6-Ausnahmebedingungskompatibilität verwenden).
- Sie haben 'vgVar.handleOverflow' zwecks Aktivierung gesetzt (siehe handleOverflow).
- Ein arithmetischer Überlauf tritt in einer Benutzervariablen auf.
Mithilfe dieser Variablen können Sie die Überlaufbedingungen überprüfen.
Wenn Sie sich nicht im V6-Ausnahmemodus befinden, ist der Wert von 'sysVar.overflowIndicator' nicht definiert, und es gibt keine Garantie dafür, dass der Wert sinnvoll ist.
Nach der Feststellung einer Überlaufbedingung wird 'sysVar.overflowIndicator' nicht automatisch zurückgesetzt. Sie müssen entsprechenden Code in Ihr Programm einschließen, um 'sysVar.overflowIndicator' auf 0 zurückzusetzen, bevor Sie irgendwelche Berechnungen ausführen, die Überlaufprüfungen auslösen können.
Sie können 'sysVar.overflowIndicator' wie folgt verwenden:
- Als Quelle oder Ziel einer Zuordnung oder einer Anweisung 'move' (wie es in 'for count' einer Anweisung 'move' zulässig ist).
- Als Variable in einem logischen Ausdruck.
- Als Argument in einer Anweisung 'exit' oder 'return'.
Kenndaten
Kenndaten von 'sysVar.overflowIndicator':
- Basiselementtyp (primitiver Typ)
- NUM
- Datenlänge
- 1
- Wert übergreifend für Anweisung 'converse' im Segmentmodus speichern?
- Ja
Beispiel
Im folgenden Beispiel erfolgt eine Prüfung auf einen Überlauf:
a = b / c;
if (sysVar.overflowIndicator != 0)
writeStdErr("Variable overflow in a");
a = -1; // als nutzlos markieren
sysVar.overflowIndicator = 0; // für nächsten Test zurücksetzen
end