我想对两个异常屏蔽(什么也不做),对剩下的异常则显示异常消息,该怎么处理呢?

解决方案 »

  1.   

    什么也不做? 那在catch中不加任何语句就可以了啊
      

  2.   

    自定义异常
    或:
    try
    {
    }
    catch(Exception e)
    {
      switch(e.ToString())
    {
      case "111":
       break;
      case "222"
      break;
      default:
      //throw等操作 
    break;
    }
     
    }
      

  3.   

    try{}
    catch(Exception ex)
    {
      Type type = ex.GetType();
      switch(type)
      {
          case typeof(MyException1)
          case typeof(MyException2)
                 //donothing;
                 break;
          default:
               throw;
       }
    }
    不过一般不这样写的
    直接
    try{}catch(MyException1){}catch(MyException2){}catch(Exception){throw}就行了
      

  4.   

    那就自定义异常好了class myException:ApplicationException
    {
    }
      

  5.   

    我想在捕获System.ArgumentOutOfRangeException和System.NullReferenceException异常时不弹出异常信息,而其他异常则弹出异常信息。
    我试过
    try
    {...}
    catch(System.ArgumentOutOfRangeException)
    {}
    catch(System.NullReferenceException)
    {}
    catch(Exception e)
    {
        MessageBox.show(e.Message);
    }
    但还是会弹出上面两个异常的信息。不知道哪里写得不对?
      

  6.   

    可以用switch,楼主如果什么都不想处理,可以直接catch(Exception){},抓取全部的异常,catch里面什么处理都不写
      

  7.   

    对于Type类型,switch case也报错
      

  8.   

    你确定抛出的是ArgumentOutOfRangeException和NullReferenceException异常?
      

  9.   

    不太可能吧,你输出下e.GetType()
      

  10.   

    哦,我知道了,这个异常消息是另外一个方法发出的,不是Dispose中的异常消息。
    是这样的,我做了一个程序,程序中一个方法用到了datagridview控件读数据,如果它正在读数据,而用户选择了关闭程序,我不想让程序报“索引超出范围”的异常消息该怎么做?(我不想屏蔽读数据的方法里的“索引超出范围”的异常)
    非常感谢!
      

  11.   

    在formClosing事件中,加个设置变量的值,然后datagridview控件读数据根据这个变量的值决定是否抛出异常
    .另外当用户关闭程序时,你应该停止datagridview读取数据吧,如果用户到了事件,应该把它的事件都注销掉
      

  12.   

    这个,没这么干的吧?
    一般是一路catch下去。
    对你要处理的加处理,不处理的什么也不加
      

  13.   

    catch(Exception1 ex1)
    {
    }
    catch(Exception2 ex2)
    {
    }
    catch(Exception ex)
    {
    }