SA0040: Mögliche Division durch Null
Funktion | Ermittelt Codestellen, an denen möglicherweise durch Null dividiert wird. |
Begründung | Eine Division durch 0 ist nicht erlaubt. Eine Variable durch die dividiert wird, sollte immer vorher auf 0 überprüft werden. Andernfalls kann es zu einer "Divide by Zero"-Exception zur Laufzeit kommen. |
Wichtigkeit | Hoch |
Beispiel:
PROGRAM MAIN
VAR CONSTANT
cSample : INT := 100;
END_VAR
VAR
nQuotient1 : INT;
nDividend1 : INT;
nDivisor1 : INT;
nQuotient2 : INT;
nDividend2 : INT;
nDivisor2 : INT;
END_VARnDivisor1 := cSample;
nQuotient1 := nDividend1/nDivisor1; // no error
nQuotient2 := nDividend2/nDivisor2; // => SA0040