重複の可能性:
C ++プログラムをクラッシュさせる最も簡単な方法は何ですか?
コードベースによく見られる構造があります。プログラムが何らかの理由で無効な状態になり、コードが意図的に間違った処理を実行して、クラッシュを強制します。通常、次のようになります。
if(<something is wrong>)
{
int *ptr = NULL;
*ptr = 0;
}
もちろん、これによりnull参照例外が発生し、回復不能な方法でプログラムがクラッシュします。これが本当にこれを行うための最良の方法であるかどうか疑問に思っていますか?まず第一に、それはよく読まない。コメントがないと、ここで発生するクラッシュが意図されたものであることに気付かない可能性があります。第二に、これから回復する方法はほとんどありません。例外をスローしないため、他のコードで処理することはできません。それは、バックトラックの方法なしで、プログラムを死んで殺すだけです。また、なぜここでクラッシュしなければならなかったのかについては、あまり手がかりがありません。また、たとえばアサーションとは異なり、すべてのビルドでクラッシュします。(非常に堅牢なアサーションシステムを利用できますが、このような場合に常に使用されるとは限りません。)
それは私たちが至る所で使用しているスタイルであり、私は他の誰かを説得しようとする立場にはありません。これが業界でどれほど一般的であるか興味があります。