ON SIZE ERROR指定のない文でゼロによる除算を試みた場合、プログラムの動作を制御する。
>>-.---.-.-------CHECKDIV-"dialect"-.----->< +-/-+ +.----.-CHECKDIV-----------+ +-NO-+
dialect | ANSI、 COBOL370、ENTCOBOL、MVS、OS390、OSVS、VSC2のうちのいずれか1つ |
省略値: | CHECKDIV"ANSI" (![]() |
段階: | Syntax check |
$SET: | 初期 |
CHECKDIVまたはCHECKDIV"ANSI"を指定すると、ゼロによる除算を試みた場合でもプログラムは続行し結果は不定である。 NOCHECKDIVを設定すると、動作は不定となる。
CHECKDIV"COBOL370", CHECKDIV"ENTCOBOL", CHECKDIV"MVS", CHECKDIV"OS390", CHECKDIV"OSVS"または CHECKDIV"VSC2"を 指定しても、同じ効果が得られる。ゼロによる除算を試みると、実行時エラー048 (ゼロによる除算の試み)が生じる。このエラーは、-O実行時システムスイッチを使って無効化できる。
NOCHECKDIVを設定すると、除算についての最適なコードが生成される。
ON SIZE ERROR指定を使用する算術文には、本指令は効果がない。