0
我有一個用VB.NET編寫的windows服務,在運行時記錄錯誤,它使用了Visual Basic的Err對象。當我調試服務時,它不會給我任何錯誤,但同時它將Err
對象設置爲13
這意味着我的某個地方有類型不匹配(根據Error List)任何想法如何強制拋出運行時異常在調試?我曾嘗試註釋下面的代碼,但沒有運氣: -在調試時禁用Visual Basic Err對象
On Error Resume Next
我有一個用VB.NET編寫的windows服務,在運行時記錄錯誤,它使用了Visual Basic的Err對象。當我調試服務時,它不會給我任何錯誤,但同時它將Err
對象設置爲13
這意味着我的某個地方有類型不匹配(根據Error List)任何想法如何強制拋出運行時異常在調試?我曾嘗試註釋下面的代碼,但沒有運氣: -在調試時禁用Visual Basic Err對象
On Error Resume Next
您可以使用Err.Raise()方法或者拋出Err.GetException()方法,如果犯錯有任何錯誤。
If Err.Number <> 0 Then
Throw Err.GetException()
End If
OR
If Err.Number <> 0 Then
Err.Raise(Number:=Err.Number, Source:=Err.Source, Description:=Err.Description, HelpFile:=Err.HelpFile, HelpContext:=Err.HelpContext)
End If
但是,這將引發異常沒有在該異常實際發生的點。無論如何,我有例外的細節,所以雷斯也無濟於事。 –
Err.GetException返回異常,您可以使用它來識別發生不匹配的代碼,然後以更好的方式處理該代碼。順便說一句,打開Option Strict for vb.net項目也可以幫助你在編譯時識別問題。 –