"Try.... Catch
"和" On Error GoTo
"是VB.NET中的异常处理机制。那么他们之间有什么区别?
以下是什么原因?
一个区块将允许多个try..catch
或多个On Error GoTo
,但同一区块中将允许not both
。
以下代码:
Private Sub check_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles check.Click
On Error GoTo l1
On Error GoTo l2
rt.LoadFile("e:\new\me.txt")
l1:TextBox1.Text = "Not found"
l2:TextBox1.Text = "Not found"
End Sub
为什么在l2
执行之前执行l1
,如果找不到路径?
答案 0 :(得分:5)
仅为遗留代码保留On Error GoTo
构造。它在VB的后续版本中存在的唯一原因是使用旧的(但经过测试和工作的)代码更容易使用,而且变化很小。
没有理由将旧类型的错误处理与异常处理混合在一起。新编写的代码不应使用旧的错误处理。有意混淆它们在编译器中是不允许的。
当您使用On Error GoTo
时,每个设置都将替换之前的设置,因此只有最后一个设置才会生效。