MFC 判斷提示

這個主題適用於:

版本

Visual Basic

C#

F#

C++

Web Developer

Express

標題不適用於 標題不適用於 標題不適用於

僅適用原生

標題不適用於

Pro、Premium 和 Ultimate

標題不適用於 標題不適用於 標題不適用於

僅適用原生

標題不適用於

MFC 會定義檢查判斷提示的 ASSERT 巨集。 它也會定義檢查 CObject 衍生物件之內部狀態的 MFC ASSERT_VALID 和 CObject::AssertValid

MFC ASSERT 巨集會在引數 (運算式) 評估結果是零或 False 時,中止程式執行並警示使用者。 如果運算式評估結果不為零,才會繼續執行。

當判斷提示失敗時,會出現一個顯示原始程式檔名稱和判斷提示行號的訊息對話方塊。 如果您選擇了對話方塊裡的 [重試],則呼叫 AfxDebugBreak 會造成偵錯工具執行中斷。 此時,您可以檢查呼叫堆疊和其他偵錯工具設施,來決定造成判斷提示失敗的原因。 如果您已經啟用 Just-in-Time 偵錯,對話方塊在判斷提示失敗發生又沒有執行偵錯工具時,便會啟動偵錯工具。

下列範例顯示如何使用 ASSERT 來檢查函式的傳回值:

int x = SomeFunc(y);
ASSERT(x >= 0);   //  Assertion fails if x is negative

您可以使用 ASSERT 搭配 IsKindOf 函式來提供函式引數的類型檢查:

ASSERT( pObject1->IsKindOf( RUNTIME_CLASS( CPerson ) ) );

ASSERT 巨集只會捕捉偵錯版本程式的程式錯誤。 此巨集不會在發行版本中產生程式碼。 如果您需要評估發行版本裡的運算式,請使用 VERIFY 巨集取代 ASSERT。

請參閱

概念

判斷提示