如果在c#中与sql查询的连接出错,如何使用try catch?
如果我使用下面的简单代码,它确实有效,但发生错误所需的时间太长。如何让try catch更快地处理错误?
try
{
//sql command
}
catch
{
//display connection error
}
答案 0 :(得分:2)
在发生异常之前,您无法捕获异常。如果你想早点赶上它,可以让它更快地发生。具体来说,缩短超时时间。
我知道如何减少ColdFusion中的超时时间。我必须查看this page以了解如何在.net中执行此操作。
答案 1 :(得分:1)
try-catch
会在发生异常时立即捕获异常,但除了在超时发生之前捕获超时异常之外。对于SqlCommand
,默认超时 30秒,但您可以通过设置CommandTimeout
属性来更改它:
try
{
var command = new SqlCommand("...");
command.CommandTimeout = 5; // 5 seconds
command.ExecuteNonQuery();
}
catch(SqlException ex)
{
// handle the exception...
}
答案 2 :(得分:0)
按以下方式执行:
try
{
con.open();
.
.//Database operation
.
con.close();
}
catch(Exception ex)
{
MessageBox.Show("Error: "+ex.Message);//If exception will come, it will handle it here.
}
finally
{
con.close();
}
答案 3 :(得分:0)
catch (SqlException ex)
{
if (ex.Number == -2)
{
//handle timeout
}
}