关于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取代传统的事务模型。
------解决方案--------------------
------解决方案--------------------