---- 在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