Vb6错误代码在vb.net中等效

时间:2015-07-20 09:51:22

标签: .net vb.net error-handling vb6

是否有办法将vb.net错误代码编号转换为vb6错误代码编号。

例如:除以零错误代码在vb6中是11

如何在vb.net中获得相同的等价物?

2 个答案:

答案 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

之后,您只需为每种情况自定义输出。