デフォルトでは、I/O ステートメントが ERR= または IOSTAT= 指定子を持っていない場合でも、多数の種類の I/O エラーを検出した後、 XLF コンパイル済みプログラムは処理を続行します。このプログラムは、欠陥データその他の I/O の問題から正常に回復できるように処置をいくつか実行します。
エラーを検出するプログラムの動作を制御するには、プログラムを実行する前に XLFRTEOPTS 環境変数を設定します。この環境変数については、 実行時オプションの設定で説明されています。
たとえば、次のようになります。
# Switch defaults for some run-time settings. XLFRTEOPTS="err_recovery=no:cnverr=no" export XLFRTEOPTS
環境変数の設定とは無関係に、プログラムを常に同じように機能させたい場合、または、プログラムのさまざまな部分での動作を変更したい場合は、 SETRTEOPTS プロシージャーを呼び出すことができます。
PROGRAM RTEOPTS USE XLFUTILITY CALL SETRTEOPTS("err_recovery=no") ! Change setting. ... some I/O statements ... CALL SETRTEOPTS("err_recovery=yes") ! Change it back. ... some more I/O statements ... END
ユーザーは環境変数 XLFRTEOPTS を使用してこれらの設定を変更できるので、プログラムの動作に望みどおりの影響を与える実行時オプションの設定には、必ず SETRTEOPTS を使用してください。