gpt4 book ai didi

c# - 应该在try block 中使用必须在finally block 中执行的函数

转载 作者:太空宇宙 更新时间:2023-11-03 17:59:46 24 4
gpt4 key购买 nike

try
{
OpenConnection();
RowsAffected = cmd.ExecuteNonQuery();
CloseConnection(true); //should I use this function call here
//as well, when I am using it in finally
//block. For closing database connection.
}
catch (SqlException ex)
{ throw ex; }
finally
{ CloseConnection(true); }


还是我应该这样写

try
{
OpenConnection();
RowsAffected = cmd.ExecuteNonQuery();
}
catch (SqlException ex)
{ throw ex; }
finally
{ CloseConnection(true); }

最佳答案

不,无论try块中代码的成功与否,都将始终执行finally块。在您的第一个示例中,成功连接将关闭两次。

您说要检查连接状态,这意味着两次关闭连接时都不会出现异常。不过,我认为仅在必要时尝试将其关闭更为合适。

关于c# - 应该在try block 中使用必须在finally block 中执行的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3201781/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com