無効なポインター値

POINTER または PROCEDURE-POINTER として定義したデータ項目はポインターであり、使用時には有効なアドレスを格納している必要があります。有効なアドレスが格納されていないポインターを使用すると、この COBOL システムにより一般保護違反の原因となるエラーがトラップされるため、RTS エラー 114 (「メモリの境界を超えて項目にアクセスしようとしています」) が発生します。

下の例では、undefined-pointer データ項目をプロシージャへのポインターとして定義していますが、有効なアドレスを格納せずに使用しています。そのため、CALL 文は失敗して、RTS エラー 114 (「メモリの境界を超えて項目にアクセスしようとしています」) が出力されます。

 working-storage section.
 01 undefined-pointer  usage procedure-pointer.
 procedure division.
     call undefined-pointer
 stop run.