【问题标题】:Disable Visual Basic Err object while debugging调试时禁用 Visual Basic Err 对象
【发布时间】:2015-12-24 08:43:06
【问题描述】:

我有一个用 VB.NET 编写的 Windows 服务,它使用 Visual Basic 的 Err 对象在运行时记录错误。当我调试服务时,它没有给我任何错误,但同时它正在设置带有编号13Err 对象,这意味着我在某处有类型不匹配(根据Error List)知道我如何调试时可以强行抛出运行时异常吗?我试过评论下面的代码,但没有运气:-

On Error Resume Next

【问题讨论】:

    标签: .net vb.net exception


    【解决方案1】:

    如果 Err 有任何错误,您可以使用 Err.Raise() 方法或 Throw Err.GetException() 方法。

    If Err.Number <> 0 Then
        Throw Err.GetException()
    End If
    

    If Err.Number <> 0 Then
        Err.Raise(Number:=Err.Number, Source:=Err.Source, Description:=Err.Description, HelpFile:=Err.HelpFile, HelpContext:=Err.HelpContext)
    End If
    

    【讨论】:

    • 但这将引发异常,而不是在异常实际发生的地方。反正我有异常细节,所以 Raise 也无济于事。
    • Err.GetException 返回异常,您可以使用它来识别发生不匹配的代码,然后您可以以更好的方式处理它。顺便说一句,为 vb.net 项目打开 Option Strict 也可以帮助您在编译时识别问题。
    猜你喜欢
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    • 1970-01-01
    • 2018-03-23
    • 2018-07-20
    • 1970-01-01
    • 2016-07-07
    • 2014-03-29
    相关资源
    最近更新 更多