.net 调试时禁用Visual Basic错误对象
我有一个用VB.NET编写的windows服务,为了在运行时记录错误,它使用Visual Basic的对象。当我调试服务时,它没有给我任何错误,但同时它设置了编号为.net 调试时禁用Visual Basic错误对象,.net,vb.net,exception,.net,Vb.net,Exception,我有一个用VB.NET编写的windows服务,为了在运行时记录错误,它使用Visual Basic的对象。当我调试服务时,它没有给我任何错误,但同时它设置了编号为13的Err对象,这意味着我在某个地方(根据)存在类型不匹配。你知道如何在调试时强制抛出运行时异常吗?我尝试过对以下代码进行注释,但没有成功:- On Error Resume Next 如果Err有任何错误,可以使用Err.Raise()方法或Throw Err.GetException()方法 If Err.Number <
13
的Err
对象,这意味着我在某个地方(根据)存在类型不匹配。你知道如何在调试时强制抛出运行时异常吗?我尝试过对以下代码进行注释,但没有成功:-
On Error Resume Next
如果Err有任何错误,可以使用Err.Raise()方法或Throw Err.GetException()方法
If Err.Number <> 0 Then
Throw Err.GetException()
End If
如果错误号为0,则
抛出Err.GetException()
如果结束
或
如果错误号为0,则
Err.Raise(编号:=Err.Number,来源:=Err.Source,说明:=Err.Description,帮助文件:=Err.HelpFile,帮助上下文:=Err.HelpContext)
如果结束
但这不会在异常实际发生时引发异常。无论如何,我有异常详细信息,因此Raise也不会有帮助。Err.GetException返回异常,您可以使用该异常来识别发生不匹配的代码,然后以更好的方式处理它。顺便说一句,打开Strict for vb.net project选项也可以帮助您在编译时识别问题。
If Err.Number <> 0 Then
Err.Raise(Number:=Err.Number, Source:=Err.Source, Description:=Err.Description, HelpFile:=Err.HelpFile, HelpContext:=Err.HelpContext)
End If