重复的错误处理

时间:2014-06-17 07:26:35

标签: vb.net error-handling dry

所以在我的vb.net应用程序中,我有很多try和catch块用于错误处理,特别是当我的应用程序与数据库进行通信时。

我正在浏览一系列if / elseif语句以查看是否

    ex.tostring.contains("Unable to connect to any of the specified MySQL hosts")

和那样的各种各样的东西。

在那一刻,我写出来并将其复制并粘贴到每个捕获中,但我知道将有一种更有效的方法来执行此操作,即代码只在一个地方并在需要时调用。

我尝试将其作为一个函数实现,但是我无法将信息传递给函数。

所以我想我会问你们看看你们这样做的方式?

2 个答案:

答案 0 :(得分:0)

您不需要程序的multipe try ... catch语句。一个就够了。 如果我理解正确,您想要打印或显示Try块内发生的错误。

Public Sub main()
    Try
        'Do something
    Catch ex As Exception
    End Try
    Try
        'Do something else
    Catch ex As Exception
    End Try

    If ex.tostring.contains("something") than
End Sub

相反,你可以这样做:

 Public Sub main()
    Try
        'Do all your code here.
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try
End Sub

在这部分中,编译器将自动打印程序中出现的错误。

答案 1 :(得分:0)

您可以根据引发的异常类型执行某些操作。如果不建议检查文本,因为这可能会随着新版本的.net或mysqldata

而改变

尝试这样的事情:

Try
   '
   ' Programming lines of code
   '
Catch exError As MySqlException
   ' an error occurred with MySql
Catch e As Exception
   ' a General error occurred
Finally
   ' Cleanup custom and unmanaged resources if necessary
End Try

查看MySQL Documentation的推荐