c#不捕获执行非查询异常

本文关键字:查询 异常 执行 | 更新日期: 2023-09-27 18:02:41

我有这段代码,调用存储过程在SQL中'插入'数据到表。

using (SqlConnection connection = new SqlConnection(Global_Variables.DBcon))
{
    SqlCommand cmd = new SqlCommand("sp_WinApps_Import_ERData", connection);
    cmd.CommandType = CommandType.StoredProcedure;
    connection.Open();
    try
    {
        cmd.ExecuteNonQuery();
        Console.WriteLine("file imported!");
    }
    catch (SqlException ex)
    {
        Console.WriteLine("BATCH ID ALREADY EXISTS!" + ex.Message );
    }
    finally
    {
        connection.Close();
    }
}

但问题是,它没有捕获错误在'try-catch方法',我不知道为什么,但我的代码是正确的。

错误提示:"违反了唯一键约束' con_batchid '。不能在对象'dbo.tbl_WinApps_FileHeader'中插入重复键。超时过期。操作完成前的超时时间或服务器没有响应。语句已被终止。"

c#不捕获执行非查询异常

我解决了。转到调试>异常,我只是在公共语言运行时异常中"未检查抛出的复选框"