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