1. 在使用过程中,如果DataTable为空时,就会报错,我做了一个方法的返回类型是DataTable,即使是空也要返回,        //方法一
         private DataTable  AA()
         {
             DataTable dt = new DataTable();
             try{
             ...  //处理dt
             }
             catch{
               dt = null ;  //有这种写法吗?给dt赋空值
             }
             return dt;           }        //调用方法一
         private void BB()
         {
             DataTable dtB = new DataTable();
             dtB = AA();
             if(dtB.Rows.Count <= 0)
             {
                 //说明取到的dataTable为空
             }
         }
这样写有问题吗?经常会报错,说数据源中DataRow之类的错误,我想如果没有读到值的话,我如何能够屏蔽错误页面呢,用try-catch,写日志里,都试了,如何能够减少这方面的错误页面的产生。

解决方案 »

  1.   

    private DataTable  AA()
    {
                 DataTable dt = new DataTable();
                 try{
                 ...  //处理dt
                 }
                 catch{
                   //dt = null ;  //别给空值啊
                 }
                 return dt;           
    }
      

  2.   

    没有必要给赋空值,在AA()中正常处理即可,在获取的时候,你可以增加判断,看获取的DataTable是不是为空就行了
      

  3.   

    不用赋空值。这里出错不用出来。最后还是会return dt=new DatatTable();
      

  4.   

    想问下...在TRY里面处理过DT后,接下来的业务出错,返回的DT还是new DatatTable()?
      

  5.   

    AA()不用處理
              private void BB()
             {
                 DataTable dtB = new DataTable();
                 dtB = AA();
                 if(dtB==null)
                 {
                     //说明取到的dataTable为空
                 }
             }
      

  6.   

    example: dt 在添加完1条数据后,添加完第2条数据时出错,这时候返回的dt 是含1条数据的,还是NULL?
      

  7.   


    这种等于null的方法我试过,不管用呢!
      

  8.   


    我的处理过程是,查询原来有信息的DataTable后,根据查询条件没有取到值,所以为空,跟new没关系吧!
      

  9.   

     if (dt_account.Rows.Count < 0){}