2015-09-26 23 views
0

我有一個用VB.NET編寫的windows服務,在運行時記錄錯誤,它使用了Visual Basic的Err對象。當我調試服務時,它不會給我任何錯誤,但同時它將Err對象設置爲13這意味着我的某個地方有類型不匹配(根據Error List)任何想法如何強制拋出運行時異常在調試?我曾嘗試註釋下面的代碼,但沒有運氣: -在調試時禁用Visual Basic Err對象

On Error Resume Next 

回答

0

您可以使用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 
+0

但是,這將引發異常沒有在該異常實際發生的點。無論如何,我有例外的細節,所以雷斯也無濟於事。 –

+0

Err.GetException返回異常,您可以使用它來識別發生不匹配的代碼,然後以更好的方式處理該代碼。順便說一句,打開Option Strict for vb.net項目也可以幫助你在編譯時識別問題。 –