如果在使用语句中抛出异常,它应立即调用 finally 块并处理对象的释放。因此,try 块的其余部分不应执行,对吗?
在我的例子中,
public static async Task<bool> AddCharName(string id, string name)
{
using (var dbConn = new DbConn())
{
await dbConn.Connection.OpenAsync();
command = "UPDATE user SET name = @name WHERE name IS NULL AND id = @id";
using (MySqlCommand update = dbConn.Connection.CreateCommand())
{
update.CommandText = command;
update.Parameters.Add("@name", MySqlDbType.VarChar).Value = name;
update.Parameters.Add("@id", MySqlDbType.VarChar).Value = id;
await update.ExecuteNonQueryAsync();
return true;
}
}
return false;
}
在我的例子中,
return false
会给出“检测到无法访问的代码”警告。我是否正确地将其视为错误?如果在using (MySqlCommand upd...
中抛出错误,那么它应该返回false,对吗?
try
块。 - Deolus