当前位置: 代码迷 >> .NET Framework >> 关于try catch的有关问题
  详细解决方案

关于try catch的有关问题

热度:99   发布时间:2016-05-02 01:02:06.0
关于try catch的问题
问题:
  在数据操作中启用了事务
  try
  { 
  sqlconnection.Open();
  transaction=sqlconnection.BeginTransaction();
  sqlcommand1.ExecuteNonQuery();
  sqlcommand2.ExecuteNonQuery();
  transaction.Commit();
   
  }
  catch(SqlException e)
  {
  MessageBox.Show(e.Message);
  transaction.Rollback();
  }
如果在sqlconnection.Open时出现异常,transaction.Rollback()中执行会出现新的异常(transaction没赋值).
应该如何写try catch块呢


------解决方案--------------------
判断下是不是null就可以了。
------解决方案--------------------
C# code
using (TransactionScope scope = new TransactionScope())  {   //创建事物对象      try      {          //执行事务操作的相关代码                scope.Complete();  //提交事物      }      catch (Exception ex) { throw ex; } //抛出异常      finally { scope.Dispose(); }  //回滚事物  }
------解决方案--------------------
进入新的NET版本,请使用TransactionScope取代传统的事务模型。
------解决方案--------------------
探讨
C# code
using (TransactionScope scope = new TransactionScope())
{ //创建事物对象
try
{
//执行事务操作的相关代码


scope.Complete(); //提交事物
}
catch (Exce……

------解决方案--------------------
探讨

引用:
C# code
using (TransactionScope scope = new TransactionScope())
{ //创建事物对象
try
{
//执行事务操作的相关代码


scope.Complete(); //提交事物
}
catch (Exce……


顶这个, 多用using 这样就……