をキャッチそれが言うように)。したがって、いくつかの例外がスローされる可能性があるので、conn.Open()
はこの節にあります。真のコーディング規約/してみてください/のは、私はこのコードを得たと仮定しましょう
今、正しいコーディングアプローチですか?見てください:SqlCommand
のコンストラクタはexceptinも投げませんが、コードの削減のためにcmd.ExecuteNonQuery()
と一緒に入れました。両方ともtry
/catch
の中に入れました。
または、
多分、この代わりにこの1つが必要ですか?あなたの第二のアプローチは良いcatch
句(例外のロギング)あなたは本当に1が十分
で、2倍try
ブロックを必要としません... と
internal static bool WriteTransaction(string command)
{
using (SqlConnection conn = new SqlConnection(SqlConnectionString))
{
try { conn.Open(); }
catch { return false; }
using (SqlCommand cmd = new SqlCommand(command, conn))
try { cmd.ExecuteNonQuery(); }
catch { return false; }
}
return true;
}
(私の英語のため申し訳ありません)
ログに記録せずに例外を捕まえて飲み込まないでください。これが野生に入ると、あなたはひどくひどく痛むでしょう、そして、あなたは分離できないバグに終わります。 –