VB軟件開發中的錯誤捕獲及處理技術

發表于:2007-07-14來源:作者:點擊數: 標簽:
---- 在VB 軟 件 開 發 中, 錯 誤 信 息 的 捕 獲 及 處 理 是 非 常 重 要 的 部 分。 有 些 錯 誤 在 編 譯 時 即 可 發 現、 排 除。 但 還 有 一 些 錯 誤 是 在 軟 件 運 行 時 由 于 用 戶 錯 誤 的 輸 入 等 方 面 的 原 因 而 產 生 的, 這 就 需
---- 在VB 軟 件 開 發 中, 錯 誤 信 息 的 捕 獲 及 處 理 是 非 常 重 要 的 部 分。 有 些 錯 誤 在 編 譯 時 即 可 發 現、 排 除。 但 還 有 一 些 錯 誤 是 在 軟 件 運 行 時 由 于 用 戶 錯 誤 的 輸 入 等 方 面 的 原 因 而 產 生 的, 這 就 需 要 軟 件 開 發 者 在 軟 件 設 計 和 開 發 時 注 意 處 理 這 方 面 的 錯 誤。VB 在 捕 獲 及 處 理 錯 誤 信 息 方 面 有 兩 個 重 要 的 函 數。 一 個 是ERROR, 該 函 數 捕 獲 錯 誤 信 息。 另 一 個 是ERR, 該 函 數 捕 獲、 返 回 錯 誤 信 息 代 碼。 當 捕 獲 到 錯 誤 信 息 代 碼 后, 軟 件 開 發 者 就 可 以 根 據 錯 誤 代 碼 來 判 斷、 決 定 程 序 是 退 出 運 行(exit sub)、 是 繼 續 執 行(resume next)、 還 是 進 行 錯 其 他 處 理(goto 語 句 標 號)。VB 還 有 一 個 重 要 的 語 句ONERROR, 該 語 句 當VB 程 序 運 行 產 生 錯 誤 時 觸 發。 開 發 者 可 用 該 語 句 結 合ERR 和ERROR 函 數 來 該 用 戶 提 供 錯 誤 信 息、 并 決 定 程 序 下 一 步 工 作。 也 可 作 成 有 用 戶 獨 自 選 擇 下 一 步 工 作。 筆 者 開 發 了 一 個 捕 獲、 顯 示 錯 誤 信 息 的 過 程showerror()。 發 生 錯 誤 時 調 用 該 過 程 即 可, 下 面 是 過 程 源 代 碼 及 調 用 例 子:

Sub showerror ()
Dim s As String
Dim crlf As String

crlf = Chr(13) + Chr(10)
s = "運行時發生下列錯誤:" + crlf
注釋:add the error string
s = s + Error$ + crlf
注釋:add the error number
s = s + "錯誤碼為: " + CStr(Err)
Beep 注釋:beep and show the error
X= MsgBox (s,2)

End Sub

調用例子:
sub abc()
onerror goto 1’發生錯誤時轉到 1
.
.
程序體
.
.
exit sub
1
showerror
if err=… then
.
.
錯誤處理部分
.
.
endif
exit sub
end sub

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97