Err.Number vs VB.net中的try-catch

时间:2011-02-23 17:03:11

标签: vb.net exception-handling try-catch

我继承了一个旧的VB.net项目。代码主要使用try-catch进行错误处理。但是在某些地方我找到了If Err.Number <> 0 Then

如果发生错误,是什么决定是否应该抛出Exception,还是只设置Err

我不想双向处理错误......

2 个答案:

答案 0 :(得分:3)

Err对象与旧式On Error错误处理结构一起使用,这是经典VB的余数。 Try-Catch是更新的.NET样式的错误处理。

您可以了解更多相关信息,以及Error Handling in Visual Basic.NET中的差异。

答案 1 :(得分:1)

听起来旧代码使用On Error Resume Next。确保你明白它的作用,它有点奇怪!

docs解释

  

On Error Resume Next导致执行继续执行导致运行时错误的语句之后的语句,或者紧跟在包含On Error Resume Next语句的过程的最近调用之后的语句。尽管存在运行时错误,但此语句允许继续执行。您可以将错误处理例程放在发生错误的位置,而不是将控制转移到过程中的其他位置。

然后你将使用If Err.Number&lt;&gt; 0检查是否发生了错误。