为什么会遇到这个警告呢?.net检测到无法访问的代码

解决方案 »

  1.   

    .net检测到无法访问的代码
    比如在return后面的代码就无法访问到
      

  2.   

    晕,正常啊,就是有这样的东东,RETURN了后面的东西当然访问不到了JF
      

  3.   

    return 语句
    tran.Commit(); 这儿加了个事务是不是就不执行事务了?有什么办法吗?
      

  4.   

    用try然后在finally里写tran.Commit();
      

  5.   

    你的业务逻辑是什么,为什么函数已经RETURN了后,还要再COMMIT?有没特殊的考虑?
      

  6.   

    try
             {
               代码1
               代码2
    return 代码3;
    //原来是写在这里的(tran.Commit())
              }
           catch(Exception e)
    {
    tran.Rollback();
    throw new LogonException(e.Message ,e);
    }
          finally
             {
    tran.Commit(); 
    data.Close();
    }
    }
    //这样写可以吗?
      

  7.   

    Commit只能写在try里面,否则发生异常以后回滚了,又提交,显然错误
      

  8.   

    不要着急写return可以用一个变量把返回值保存下来到最后再return此变量
      

  9.   

    如果 代码3 与tran每关系; try
             {
               代码1
               代码2
    tran.Commit());
    return 代码3;

              }
           catch(Exception e)
    {
    tran.Rollback();
             data.Close();
    throw new LogonException(e.Message ,e);
    }
          finally
             {
    tran.Commit(); 
    data.Close();
    }
    }
    如果代码3与tran有关系,建议通过其他方式返回代码3,比如定义变量返回.
      

  10.   

    错了,上面没有关闭呢; try
             {
               代码1
               代码2
    tran.Commit());
    data.close();
    return 代码3;

              }
      

  11.   

    finally里面的代码永远都会执行的
      

  12.   

    /// <summary>
    /// 开始事务
    /// </summary>
    public void BeginTransation()
    {
    CreatConnection();
    myTran = conn.BeginTransaction();
    } /// <summary>
    /// 提交事务
    /// </summary>
    public void CommitTran()
    {
    if (myTran!=null)
    {
    myTran.Commit();
    }
    myTran=null;
    ConnClose();
    } /// <summary>
    /// 回滚事务
    /// </summary>
    public void RollBackTran()
    {
    if (myTran!=null)
    {
    myTran.Rollback();
    }
    myTran=null;
    ConnClose();
    }
    这是我在数据访问层自己写一些支持事务的方法。
    截到错误执行RollBackTran();reutn;
    q然后直接在finally里写CommitTran()
      

  13.   

    不要着急写return可以用一个变量把返回值保存下来到最后再return此变量
    那么tran.Commit();放到那里啊?
    ===============================
          代码1
          代码2
       return  代码3;
    这3个都是函数,代码3用到了return ,那么tran.Commit();放到那里啊?
    =================================================================
                             tran.Begin();
    try
    {
                       void a()
                                         int   b()
    return  int c()
    tran.Commit(); 

    }
    catch(Exception e)
    {
    tran.Rollback();
    throw new LogonException(e.Message ,e);
    }
    finally
    {
    data.Close();
    }
    }
      

  14.   

    .net检测到无法访问的代码也就是那段代码不会被执行。例如:
    try
    {}
    catch
    {
    throw;
    return 1;//这段代码不会被运行,你应当适当地修改源代码
    }