SIZE ERROR 句
SIZE ERROR 句 - 形式 >>-+----+--SIZE ERROR--命令ステートメント-1----------------------------->< '-ON-'
- 小数点位置合わせが行われた後の算術演算の結果の絶対値が、結果のフィールドに収容できる最大値を超えたとき
- ゼロ除算が行われたとき
- 指数式では、以下の場合
- 指数 0 で累乗されたゼロ
- 負の指数で累乗されたゼロ
- 分数の指数で累乗された負数
サイズ・エラー条件は最終結果に適用され、中間結果には適用されません。
結果の ID が USAGE IS BINARY、COMP-4、または COMP-5 で定義される場合、それに収容できる最大値は、関連した 10 進数の PICTURE 文字ストリングで暗黙に指定される最大値です。
ROUNDED 句が指定された場合、 サイズ・エラー検査の前に丸めが行われま す。
サイズ・エラーが起こった場合、プログラムの次の処置は、ON SIZE ERROR 句が指定されているかどうかによって異なります。
ON SIZE ERROR 句が指定されているときにサイズ・エラー条件が起こると、サイズ・エラーの影響を受ける結果の ID の値はそのまま変わりません。 すなわち、誤った結果が受け入れ ID の中に入れられることはありません。 その他の結果の ID の値は、それらの ID に関してサイズ・エラーが起こっていなければ影響を受けることはありません。 算術演算の実行完了後、ON SIZE ERROR 句の中の命令ステートメントが実行されます。 ON SIZE ERROR 句に指定された命令ステートメントの完了時に明示的な制御の転送が実行されない場合、 制御は算術ステートメントの最後に渡され、NOT ON SIZE ERROR 句が指定されていてもそれは無視されます。
ON SIZE ERROR 句が指定されておらず、算術ステートメントで指定した算術演算の実行後にサイズ・エラー条件が存在する場合は、 その影響を受けた、結果の ID の値は未定義となります。 その他の結果の ID の値は、それらの ID に関してサイズ・エラーが起こっていなければ影響を受けることはありません。 算術演算の完了後、制御は算術ステートメントの最後に渡され、NOT ON SIZE ERROR 句が指定されていてもそれは無視されます。
ADD CORRESPONDING および SUBTRACT CORRESPONDING ステート メントの場合は、 個々の算術演算でサイズ・エラー条件が起こっても、それぞれの加算または減算のすべて が完了するまで、ON SIZE ERROR 命令ステートメントは実行されません。
