錯誤條件測試
這個主題適用於:
版本 |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
![]() |
![]() |
![]() |
僅適用原生 |
![]() |
Pro、Premium 和 Ultimate |
![]() |
![]() |
![]() |
僅適用原生 |
![]() |
您可以在程式碼中任何需要處理錯誤的地方,使用判斷提示來測試錯誤條件。 在下列範例裡,一個圖形常式會傳回錯誤碼,或在成功時傳回零。
myErr = myGraphRoutine(a, b);
/* Code to handle errors and
reset myErr if successful */
ASSERT(!myErr); -- MFC version
_ASSERT(!myErr); -- CRT version
如果錯誤處理程式碼正常運作,錯誤應該會處理而且在到達判斷提示之前,myErr 會重設為零。 如果 myErr 有另一個值,則判斷提示會失敗、程式會暫止,而且判斷提示已失敗對話方塊會出現。
然而,判斷提示陳述式不會用來替代錯誤處理的程式碼。 下列範例顯示一個會在最後發行程式碼裡造成問題的判斷提示陳述式:
myErr = myGraphRoutine(a, b);
/* No Code to handle errors */
ASSERT(!myErr); // Don't do this!
_ASSERT(!myErr); // Don't do this, either!
這段程式碼依賴判斷提示陳述式來處理錯誤狀況。 因此,最後發行程式碼不會處理任何由 myGraphRoutine 傳回的錯誤碼。