如何在SqlException中识别所有与连接相关的异常类型?

问题描述 投票:0回答:1

我正在编写一个连接到Sql server 2008的VB.net winforms应用程序。(C#答案也被接受)

我试图区分与数据库连接相关的任何SqlExceptions和其他SQL特定错误(例如不正确的语法等)

我在连接中使用try / catch,如下所示:

Try
   //code to open the connection/access the DB/etc.
Catch ex As SqlException When ex.Number=???
   //Do stuff
End Try

我假设检查错误代码是正确的方法。我的问题是有许多不同的错误代码(我不确定有多少)与数据库的连接有关。例如:

121 =超时(可能是由于断开与网络的连接)。

53 =无法连接(再次,可能是由于未连接到网络引起的)。

1326 =您已连接到物理服务器计算机但Sql Server未运行。

我相信还有很多甚至更多。我是否必须单独检查每一个或者有更好的方法吗?如果我必须单独检查它们,是否有可以参考的任何地方的连接相关列表?

c# sql-server vb.net exception
1个回答
0
投票

正如@jdweng在评论中建议的那样,我在查询中添加了一个try / catch块。因此,如果发生异常,除了连接相关之外,它不可能是其他任何东西。

很简单!再次感谢。

© www.soinside.com 2019 - 2024. All rights reserved.