將onError/GoTo語句從VB6轉換爲VB.Net時,我被告知使用try/catch語句。大多數VB6錯誤塊使用Microsoft.VisualBasic.ErrObject提供錯誤代碼和說明。例如:VB ErrorObject與try/catch塊一起工作還是僅onError/GoTo?
CombinePDF_ERROR:
lErrorCode = Err
strErrorSource = Err.Source
strErrorDescription = Err.Description
bInProcess = False
strCombinePDFLastFile1 = strFile1
strCombinePDFLastFile2 = strFile2
ChDrive left$(strCurrentDir, 1)
ChDir strCurrentDir
Call CombinePDFUIUnload
Err.Raise lErrorCode, strErrorSource, strErrorDescription
End Sub
是否ERR(Microsoft.VisualBasic.ErrObject)獲得來自的onError/goto語句的信息?在此之前,沒有給出lErrorCode,strErrorSource,strErrorDescription。如何在try/catch中複製這個功能?捕獲異常和messageBox的消息?第一次使用VB6或VB.Net。感謝您的時間。
我們無法看到可能導致錯誤的代碼,使其非常廣泛。 [這些人](http://msdn.microsoft.com/en-us/library/fk6t46tz.aspx)瞭解了很多關於Try/Catch,從那裏開始 – Plutonix 2014-09-03 15:36:37
VB'Err'對象和pre.NET錯誤處理以'On Error'或'Resume'開頭的語句生活在與結構化異常處理不兼容的小世界中(VB甚至不會讓你在同一個方法中包含這兩種類型)。避免傳統的VB錯誤處理,並重新構建您需要的結構化異常處理。 – 2014-09-03 16:23:37
[Microsoft.VisualBasic.ErrObject'的源代碼](http://referencesource.microsoft.com/#Microsoft.VisualBasic/ErrObject.vb)給出了翻譯的一些線索,以及異常如何映射到「經典」VB錯誤。 – Deanna 2014-09-04 08:30:50