割り込みは、通常、ハードウェア状態の変化を通知する方法です。周辺機器は、電気信号によって割り込みコントローラーに接続されます。割り込みコントローラーは、優先順位を付けて、考えられる各信号にアドレス ベクターを割り当てます。割り込みコントローラは、検出された割り込み条件を CPU に転送します。CPU は、現在の実行状態を「中断」して、通知された状態の変更を処理する場合としない場合があります (割り込みが有効かどうか、および/またはこの特定の入力がマスク可能でないかどうかによって異なります)。一部のアーキテクチャでは、割り込み条件は、ハードウェア入力に加えてソフトウェアによって開始される場合があります (x86 には int ニーモニックがあるなど)。
例外は、より広い範囲の実装に及びます。68K などの一部の CPU アーキテクチャでは、例外は割り込みに似ている場合がありますが、処理が必要な一部の CPU 状態によって生成されます。たとえば、例外を生成するゼロ除算、不正な命令、I/O バスのタイムアウトなどの条件があります。これらの例外を処理することにより、命令をエミュレートしたり、命令セットを仮想的に拡張したりすることができます。
例外は、特定のエラー条件をトラップして処理できる C++ 言語など、ソフトウェアのみの概念である場合もあります。
したがって、一般に、妥当性を見つけようとしているステートメントは、それらを適用する正確なプラットフォームに応じて、真または偽になる可能性があります。