ランタイム時にエラーが発生した場合は、端末にメッセージが表示されます。
Open PL/I の ON 文を使用して、プログラムで発生する可能性のある状態のハンドラーを開発することができます。ON ERROR 文は、任意のエラーに使用できます。ONLOC 組み込み関数は、ON-unit で使用して、状態が発生したエントリの名前をレポートすることができます。また、ONCODE 組み込み関数は、ランタイム エラーのステータス値をレポートするために使用できます。
ON-unit によりエラーがキャッチされない場合は、Open PL/I は、エラーが発生したソース ファイルおよび行番号を表示します。ただし、これらの機能が動作するようにするには、デフォルト オプションの -unixdebug を使用して、ソース ファイルをコンパイルしておく必要があります。
現在、この機能は、Open PL/I の Sun Solaris 2 および IBM AIX バージョンのみで使用可能です。
ランタイム時に致命的なエラー状態が発生した場合、メッセージには、発生した状態、その状態が発生したプログラム アドレス、その状態が発生したソース ファイル、エントリ、行番号、さらに呼び出しスタック内のそのエラーの上の各プロシージャの行が指定されて表示されます。次に例を示します。
*** Condition ERROR raised ***Unhandled condition ZERODIVIDE at PC=00010233 CALCDIV line 26 in /dirl/dir2/calcs.pl1 SUBR3 line 444 in /dirl/dir2/subprog.pl1 MYPROG line 871 in /dirl/dir2/mainprog.pl1
-nounixdebug オプションを使用してプログラムをコンパイルした場合は、その状態が発生したプログラム アドレスのみが表示されます。
*** Condition ERROR raised *** Unhandled condition ZERODIVIDE at PC=00010233