首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VBA - On Error GoTo ErrHandler:

VBA - On Error GoTo ErrHandler:
EN

Stack Overflow用户
提问于 2014-05-16 04:26:21
回答 2查看 13.3K关注 0票数 1

关于VBA中的错误处理,我有一个简单的问题。我知道如何使用On Error GoTo ErrHandler语句,但我宁愿使用预制的VBA消息,而不是在指定的标签上使用我自己的代码。在C#中类似于以下内容:

代码语言:javascript
运行
复制
catch(Exception ex){
    Console.Writeline(ex.Message);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-16 04:30:14

在错误处理程序代码中,您可以访问Err.NumberErr.Description。错误消息中的描述是您在没有错误处理的情况下看到的,因此它相当于代码示例中的ex.Message

票数 0
EN

Stack Overflow用户

发布于 2014-05-16 04:35:41

创建一个ErrorHandler模块并将此子模块放入其中。

代码语言:javascript
运行
复制
Public Sub messageBox(moduleName As String, procName As String, Optional style As VbMsgBoxStyle = vbCritical)
    MsgBox "Module: " & moduleName & vbCrLf & _
        "Procedure: " & procName & vbCrLf & _
        Err.Description, _
        style, _
        "Runtime Error: " & Err.number
End Sub

在项目中的任何地方调用它,就像这样。

代码语言:javascript
运行
复制
Private sub Foo()
On Error GoTo ErrHandler

'do stuff

ExitSub:
    ' clean up before exiting
    Exit Sub
ErrHandler:
    ErrorHandler.messageBox "ThisModuleName","Foo"
    Resume ExitSub
End Sub

我使用一个模块作用域常量来保存模块名称。根据您的需要进行修改。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23687970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档