文を使用して、ネストされた内部例外を処理するための正しい方法は何を使用して、ネストした内部例外をキャッチ?私は、次のコードの一部を持っている:はNHibernateは
public void Create(Entity entity)
{
try
{
using (ISession session = NhibernateHelper.OpenSession())
{
try
{
using (ITransaction transaction = session.BeginTransaction())
{
session.Save(entity);
transaction.Commit();
}
}
catch (TransactionException transactionException)
{
// log it
throw;
}
}
}
catch (TransactionException transactionException)
{
// log it
throw;
}
catch (SessionException sessionException)
{
// log it
throw;
}
catch (Exception exception)
{
// log it
throw;
}
}
人々は/内側に使用してネストされたcatch文を試し置くとき、私はいくつかの答えを見ました。私はステートメントの使用がtry/finallyで構成されていることを知っています。私の質問はすべての可能な例外をキャッチする正しい方法です。 catch文の中でロールバックを行うべきですか?私にそれを行う正しい方法を教えてください。
あなたは、Webアプリケーションでこれを使用していますし、ロールバックの周りにtryキャッチをログに記録。? mvc? winforms?最初の一見では、私はあなたのアプリでこれのようなコードを望んでいないと言うでしょう。 – Fran