On Error GoTo:如果没有错误,如何避免转到

0 vb.net exception

我正在使用VB.Net来开发一个应用程序,在某些时候它会卡在使用On Error GoTo与之相关的标签时On Error GoTo将会一直执行,即使它们在块中没有错误也是如此.这里的代码片段是:

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim rnd As Random = New Random
        On Error GoTo label
        Dim n, array(10) As Integer
        For i As Integer = 10 To 0 Step -2
            n = rnd.Next(9)
            array(i) = 10 / n
        Next
label:  MsgBox("Exception Occur")
    End Sub
Run Code Online (Sandbox Code Playgroud)

我的目的是在执行时发生任何错误时将错误消息显示为异常.但它会一直打印.任何人都可以建议一个解决方案.

Emi*_*nem 5

尽量避免On Error GoTo代码中的任何语句.它可能会导致很多麻烦,这只是一种不好的做法,而且看起来并不好.(意大利面条代码)相反,你可以使用一个简单的Try ... Catch语句.这是一个简短的例子:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
   Dim rnd As Random = New Random
   Try
     Dim n, array(10) As Integer
     For i As Integer = 10 To 0 Step -2
       n = rnd.Next(9)
       array(i) = 10 / n
     Next
  Catch ex as Exception
     MsgBox("Exception Occur")
  End try
End Sub
Run Code Online (Sandbox Code Playgroud)