【发布时间】:2014-09-03 15:32:17
【问题描述】:
在将 onError/GoTo 语句从 VB6 转换为 VB.Net 时,有人告诉我改用 try/catch 语句。大多数 VB6 错误块利用 Microsoft.VisualBasic.ErrObject 来提供错误代码和描述。例如:
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。感谢您的宝贵时间。
【问题讨论】:
-
我们看不到可能导致错误的代码,这使得这个非常非常广泛。 These guys 了解 Try/Catch,从这里开始
-
VB 'Err' 对象和以 'On Error' 或 'Resume' 开头的 pre-.NET 错误处理语句存在于它们自己的小世界中,与结构化异常处理不兼容(VB 赢得了'甚至不允许你在同一个方法中包含这两种类型)。避免传统的 VB 错误处理,并通过结构化异常处理重现您需要的内容。
-
source for
Microsoft.VisualBasic.ErrObject提供了一些翻译线索以及异常如何映射到“经典”VB 错误。
标签: vb.net vb6 vb6-migration