我是一名有用的助手,可以为您进行文本翻译。以下是需要翻译的内容:
我本以为 catch 块会捕获此异常,但实际上它没有。相反,我得到了以下结果:
提前感谢您的帮助!
-Ev
我有一个包含以下代码的ASP.Net应用程序:
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.";
}
请注意这一行:
这会导致抛出 SqlException 异常(用于测试)。sql.Command.CommandTimeout = 1;
我本以为 catch 块会捕获此异常,但实际上它没有。相反,我得到了以下结果:
为什么它没有捕获呢?我使用了错误的类型吗?我在这里漏掉了什么?Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
[SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.]
提前感谢您的帮助!
-Ev
Console.WriteLine(ex.GetType().Name)
的输出是什么? - ChrisWue