SA0040:ゼロによる除算の可能性
ゼロ除算が発生する可能性のあるコードを判別します。
正当化: による除算 0
エラーが発生します。除算する変数は常に最初に 0 であるかどうかをチェックする必要があります。
重要性:高い
例 49. 例
VAR_GLOBAL g_iVar AT %QW1 : INT; END_VAR
PROGRAM PLC_PRG VAR iCounter : INT; iSumme:INT; iMid:INT; iVal1:INT := INT#2; iVal2:INT; iVal3:INT := INT#3; iVal4:INT := INT#4; iVal5:INT; END_VAR
IF iVal2 <> 0 THEN iVal1 := iVal1/iVal2; // no error END_IF; iMid := iSumme / iCounter; // SA0040 iCounter := iCounter + INT#1; iSumme := g_iVar + iSumme; IF iMid < INT#100 THEN iVal1 := iVal1 / iVal2; // SA0040 END_IF
での出力 メッセージ ビュー:
SA0040: ゼロ除算の可能性
SA0040: ゼロ除算の可能性