
プログラムのロジックミスによって起こる障害です。代表的なものは、永久ループ、データ例外、命令例外、記憶保護例外などです。プログラムロジックにはループ処理が必ずあrものですが、ループを抜ける条件に誤りがあると、永久にループを抜けられなくなってしまします。システム側から強制終了しなければなりません。
この場合、単にCPU内部での演算命令のみ繰返しているようなループ処理であれば問題ありませんが、ハードディスク内のデータファイルを更新する処理がループの中に含まれている場合、その結果は想像できません。永久ループしているプログラム処理を強制終了させてファイルを元どおりに回復する必要があります。
データ例外は、入力検査により本来はエラーデータとして処理の対象からはずさなければならないデータを、正しいデータとして処理の対象にしてしまった場合に発生します。数値データでなければならないはずのデータが空白や数値以外の文字であった場合に発生します。
命令例外は、命令コードになりビットパターンを命令レジスタ(デコーダ)に送ってしまった場合に発生します。これは繰返し条件や分岐条件で次に実行すべき命令アドレスを誤った結果、命令ではないアドレス部やデータ部のコードを拾って処理しようとしたものです。
記憶保護例外は、OSの領域にアクセスしようとしたり、マルチタスク処理の配下において、他のプロセスが使用している記憶領域にアクセスしようとした場合に発生します。OSが例外エラーとして処理を無効にすれば問題ありませんが、Windowsのようにマルチタスク機能の惰弱なOSでは、他のプロセスで使用中の記憶領域を破壊しています可能性があります。