1

如果连接到 c# 中的 sql 查询出错,我该如何使用 try catch?

如果我使用下面的简单代码,它确实可以工作,但是发生错误所需的时间太长。如何让 try catch 更快地处理错误?

try
{
  //sql command
}
catch
{
  //display connection error
}
4

4 回答 4

2

在异常发生之前,您无法捕获异常。如果你想早点抓住它,就让它早点发生。具体来说,缩短超时时间。

我知道如何减少 ColdFusion 中的超时时间。我必须查看此页面以了解如何在 .net 中执行此操作。

于 2013-05-14T12:04:46.110 回答
2

try-catch会在异常发生时立即捕获,但不要期望在超时发生之前捕获超时异常。对于SqlCommand,默认超时为30 秒,但您可以通过设置CommandTimeout属性来更改它:

try
{ 
    var command = new SqlCommand("...");
    command.CommandTimeout = 5; // 5 seconds
    command.ExecuteNonQuery();
}
catch(SqlException ex)
{
    // handle the exception...
}
于 2013-05-14T12:08:33.407 回答
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();
}
于 2013-05-14T11:59:55.220 回答
0
catch (SqlException ex)
    {
        if (ex.Number == -2)
        {
            //handle timeout
        }        
    }
于 2015-06-10T17:15:38.400 回答