Ev.*_*Ev. 3 c# sql-server asp.net
我有一个ASP.Net应用程序,代码如下:
Run Code Online (Sandbox Code Playgroud)try { sql = new SqlProc("prcCustomerAgeSelect", SqlProc.InParam("@DateFrom", SqlDbType.DateTime, 8, _OrderDateFrom), SqlProc.InParam("@DateTo", SqlDbType.DateTime, 8, _OrderDateTo), sql.Command.CommandTimeout = 1; dt = sql.ExecuteTable(); } catch (SqlException ex) { Filter.ErrorMessage = "Please narrow your search criteria."; }
注意这一行:
sql.Command.CommandTimeout = 1;
这导致抛出SqlException(用于测试).
我本以为catch块会捕获这个异常,但事实并非如此.相反,我得到:
超时已过期.操作完成之前经过的超时时间或服务器没有响应.
[SqlException(0x80131904):超时已过期.操作完成之前经过的超时时间或服务器没有响应.]
它为什么不抓住它?我使用的是错误的类型吗?我在这里错过了什么?
提前致谢!!
-ev
这听起来像你所看到的不是一个SqlException.
它SqlProc本身可能会捕获SqlExceptions,从中提取一些信息,然后抛出不同类型的新异常(将一些原始信息嵌入到新异常的消息中).
| 归档时间: |
|
| 查看次数: |
1132 次 |
| 最近记录: |