Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 言語解説書


SIZE ERROR 句

サイズ・エラー条件は、次の 4 つの場合に起こります。

表 1. 指数計算のサイズ・エラー条件
サイズ・エラー SIZE ERROR 節が指定されているときに取られる処置 SIZE ERROR 節が指定されていないときに取られる処置
0 が 0 乗された SIZE ERROR 命令が実行されます。 値として 1 が戻され、メッセージが出されます。
0 が負数乗された SIZE ERROR 命令が実行されます。 プログラムは終了します。
負数が小数部乗された SIZE ERROR 命令が実行されます。 基数の絶対値が使用され、メッセージが出されます。

サイズ・エラー条件は最終結果にだけ適用され、中間結果には適用されません。

結果 ID が USAGE BINARY、COMPUTATIONAL、COMPUTATIONAL-4、または COMPUTATIONAL-5 を使用して定義されている場合、 TRUNC コンパイラー・オプションが有効であるかどうかにかかわらず、 結果のデータ項目に入れられる最大値は、その項目の 10 進 PICTURE 文字ストリングによって 暗黙に指定された値です。

ROUNDED 句が指定されている場合は、サイズ・エラー検査の前に丸めが実行されます。

サイズ・エラーが起きると、プログラムの以降の処置は ON SIZE ERROR 句が指定されているかどうかによって異なります。

ON SIZE ERROR 句が指定されていない場合にサイズ・エラー条件が起きると、切り捨て規則が適用されてから、 その影響を受ける結果の ID の値が計算されます。

ON SIZE ERROR 句が指定されている場合にサイズ・エラー条件が起きると、 そのサイズ・エラーによって影響を受ける結果の ID の値は 変更されません。つまり、エラー結果が受け取り側の ID に入れられることはありません。算術演算の実行完了後に、ON SIZE ERROR 句で指定された命令ステートメントが実行され、 制御は算術ステートメントの終わりに移され、 NOT ON SIZE ERROR 句はその指定があっても無視されます。

ADD CORRESPONDING および SUBTRACT CORRESPONDING については、個々の算術演算がサイズ・エラー条件を起こした場合、 ON SIZE ERROR 句の指定する命令ステートメントは、個々の加算や減算がすべて完了するまで実行されません。

NOT ON SIZE ERROR 句が指定されていた場合は、算術演算の実行後、 サイズ・エラー条件は存在せず、NOT ON SIZE ERROR 句が実行されます。

ON SIZE ERROR 句と NOT ON SIZE ERROR 句が両方とも指定されている場合で、 実行される句の中のステートメントに明示的な制御の移動がなければ、 必要に応じてその句の実行後に算術ステートメントの終わりに暗黙の制御の移動が行われます。


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)