怎么在代码执行过程中忽略错误,比如下面的代码,当语句3发生错误是,我要求语句4以及以后的语句能继续执行, try{}catch{}是抓取错误后跳出try的语句块,中不可能在每个语句外面套一层把.....
while (1==1)
{
//语句 1;
//语句 2;
//语句 3;
//语句 4;
//语句 5;
//语句 6;
//语句 7;
//语句 8;
//.......
}

解决方案 »

  1.   

    怎么在代码执行过程中忽略错误,比如下面的代码,当语句3发生错误是,我要求语句4以及以后的语句能继续执行, try{}catch{}是抓取错误后跳出try的语句块,中不可能在每个语句外面套一层把..... 
    ============================
    你也不可能每个语句都要报错吧?
    仅对那些可能报错的语句try{}catch{}嘛。这样将错误的干扰减小到最低。
      

  2.   

    只能加try阿,楼主可以把每部分都写成一个单独的函数,然后每部分加一个try从主逻辑调用即可,这样代码看上去不会太混乱
      

  3.   

    楼上说的有理,你总不能每条语句都不可靠吧,如果真是那样,你只有用try...catch...finally把他们嵌套起来了.
      

  4.   

    楼上说的有理,你总不能每条语句都不可靠吧,如果真是那样,你只有用try...catch...finally把他们嵌套起来了.
      

  5.   

    while (1==1)
    {
    try
    {
    //语句 1;
    }
    catch
    {
    goto 语句 2;
    }
    //语句 2;
    //语句 3;
    //语句 4;
    //语句 5;
    //语句 6;
    //语句 7;
    //语句 8;
    //.......
    }
      

  6.   

    我的实际语句是这样的,dRow是一个DataRow类型的,data是自定义的键/值对数组(字典?)而且这个数组中的的标签不是必然存在的,所以可能出现错误(给定关键字不在字典中),但是我又不能影响到其他字段的赋值语句数大概有60~70句...都套try{}catch{}的话,那工作量......dRow["A"] = data["A"].Data;
    dRow["Y"] = data["Y"].Data;
    dRow["R"] = data["R"].Data;
    dRow["O"] = data["O"].Data;
    dRow["M"] = data["M"].Data;
    .........
      

  7.   

    那就用goto
    不用嵌套
    但是每个判断都还是要写try{}catch{}
      

  8.   

    把语句提出来一个方法. 参数是列名
    把所有的列名放到字符串数组里.
    循环数组调这个方法,在循环里面用一个try/catch就可以了.
      

  9.   

    for(int i=0;i<dRow.Count;i++)
    {
       try{
            //语句   
          }
       catch   ex   
              {   
                if(ex   is   需要处理的)   
                      throw   ex   
                  else   
                      {//不处理}   
                } 
    }
      

  10.   

    ......
    不知道为什么,一用while或者for循环 ,系统CPU占用就超过80%,上面要求要压缩到40一下,就只能尽量抛弃这几个流程控制了.......
      

  11.   

    有种预编译指令#pragma warning disable 警告编号能不显示警告但忽略错误的貌似没有
      

  12.   

    执行完catch程序会自动往下走的,你别担心
      

  13.   

    加1句
    Thread.Sleep(100);
    就行了
      

  14.   

    可以这么写:
    while (true)
    {
        for (int step = 0; step < 10; step++)
        {
            try
            {
                switch (step)
                {
                    case 1:
                        break;
                    case 2:
                        break;
                    default:
                        break;
                }
            }
            catch
            {
                //忽略错误或捕获后根据 step 处理都可以
            }
        }
    }
      

  15.   

    可以使用uncheked 可以免去检查一些小的错误  
    有事Q我380727670
    419193865