是否有办法将vb.net错误代码编号转换为vb6错误代码编号。
例如:除以零错误代码在vb6中是11
如何在vb.net中获得相同的等价物?
答案 0 :(得分:3)
您可以使用VB.NET中的旧版错误处理On Error Goto x
来获取相同的错误代码。这使您可以像在VB6中一样检查Err.Number
。
使用Try Catch Finally
错误处理块时没有直接的等价物,因为异常没有与它们关联的数字,并且无论如何都没有直接等效。以下是供参考的列表:http://www.mobydisk.com/softdev/techinfo/dotnetexceptions.html
看看这个讨论VB6和VB.NET错误处理技术之间差异的页面:https://msdn.microsoft.com/en-us/library/ms973849.aspx
我不得不问你为什么首先需要这样做,因为我怀疑你有更好的选择,而不是你想要完成的任何事情。
答案 1 :(得分:2)
为什么需要相同的代码错误? 你可以在.Net上使用这样的东西:
Try
System.IO.File.Delete("c:\test.txt")
Catch ex As System.IO.FileNotFoundException
'Statements
Catch ex As System.IO.IOException
'Statements
Catch ex As System.Exception
'Statements
End Try
在VB6上:
On Error Goto ProcError
' code that raises an error
ProcExit:
Exit Sub
ProcError:
Select Case Err.Number
Case X
' handle X
Case Y
' handle Y
Case Z
' handle Z
Case Else
' default
MsgBox Err.Description
Resume ProcExit
End Select
之后,您只需为每种情况自定义输出。