所以在我的vb.net应用程序中,我有很多try和catch块用于错误处理,特别是当我的应用程序与数据库进行通信时。
我正在浏览一系列if / elseif语句以查看是否
ex.tostring.contains("Unable to connect to any of the specified MySQL hosts")
和那样的各种各样的东西。
在那一刻,我写出来并将其复制并粘贴到每个捕获中,但我知道将有一种更有效的方法来执行此操作,即代码只在一个地方并在需要时调用。
我尝试将其作为一个函数实现,但是我无法将信息传递给函数。
所以我想我会问你们看看你们这样做的方式?
答案 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的推荐