論理エラーの検出
このトピックの内容は、次の製品に該当します。
エディション |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
ネイティブのみ |
||||
Pro、Premium、Ultimate |
ネイティブのみ |
アサート ステートメントを使用すると、論理エラーを検出できます。 プログラムの論理に従えば true になるはずの条件にアサーションを設定しておきます。 論理エラーが発生しない場合、このアサーションは特に機能しません。
たとえば、容器内の気体分子をシミュレートすると想定し、変数 numMols で分子の総数を表すことにします。 この数値が 0 より小さくなることはあり得ないため、次のような MFC アサート ステートメントを挿入しておきます。
ASSERT(numMols >= 0);
または、次のように CRT アサーションを挿入することもできます。
_ASSERT(numMols >= 0);
プログラムが正しく動作していれば、これらのステートメントは何の処理も行いません。 しかし、論理エラーが発生して numMols が 0 未満になると、これらのステートメントはプログラムの実行を停止し、[アサートに失敗しました] ダイアログ ボックス を表示します。