VB5 新功能體驗 ─ (4) 協助偵錯的 Debug.Assert

Assert 在 程 式 設 計 裡 的 意 思 是「我 確 定 就 是 這 樣,如 果 不 是 這 樣 請 通 知 我」, 舉 例 來 說 :
    ... 之前程式
    Debug.Assert N <> 0
    x = Sum / N

其 作 用 是「我 確 定 N 一 定 不 等 於 0,若 N 等 於 0 ,則 中 斷 程 式」,為 什 麼 要 這 麼 寫 呢 ? 由 於 程 式 撰 寫 者 十 分 有 信 心 ...之前程式 一定 不 會 造 成 N = 0,所 以 他 不 願 意 這 麼 寫 :

    ... 之前程式
    If N <> 0 Then
      x = Sum / N
    End If

因 為 這 麼 寫 執 行 效 能 比 較 差,而 且 使 用 了 太 多 If-EndIf,程 式 也 會 變 得 不 好 看,使 用 Debug.Assert 在 測 試 階 段 雖 然 也 等 於 If 判 斷 式 , 但 此 一 敘 述 並 不 會 編 譯 到 執 行 檔 之中 , 因 此 最 後 的 執 行 檔 其 執 行 效 能 會 比 含 有 If 判 斷 式 的 程 式 來 得 高 。