举个例子,比如我现在想调用SqlConnection的Open方法,这个方法会throw出InvalidOperationException和SqlException
两个异常 我用的时候一定要
try{
    conn.Open();
}
catch(InvalidOperationException e1){
    //........省略
}
catch(SqlException e2){
    //........省略
}

解决方案 »

  1.   

     try
    {
    执行语句;
    }catch{
    捕获异常;
    }finally
    {
     清空资源;
    }
    异常的抛出要从特殊到一般
      

  2.   

    using(SqlConnection connection=new SqlConnection(""))
    {
    connection.Open();
    }现在都是用using这种方式了,这样方式相当于try{}catch{}finally{}处理。
      

  3.   

    我这里只是举个例子 意思就是说 要把所有的异常都catch一下吗?
      

  4.   

    不知道不要乱说。using怎么能代替try...catch呢?谁告诉你的?这是一个非常错误的概念。
    using只是对于实现了IDisposable接口的对象能够自动调用Dispose方法,只是相当于finally的一小部分功能。我如果要把异常信息发邮件,然后程序继续执行,你用finally能行啊?
      

  5.   

    补充一下,我这里只是举个例子 意思就是说 要把所有的异常都catch一下吗?
      

  6.   

    从语法上来说,不要求catch。从功能和稳定性来说,就要仔细考虑了
      

  7.   

    using的方法适用自己能消化的方法,不能消化的还是要向上传递异常的。。
      

  8.   

    try{
    conn.Open();
    }
    catch(Exception e1){
    //........省略
    }
    用一个就可以了。Exception 表示在应用程序执行期间发生的错误。
      

  9.   


    异常处理是在开发过程中好知道那里出了错误,都catch的话,很容易就知道是那个异常,这样处理起来会快。但是如果不想知道是那里出现的异常而又要让程序可以继续执行的话可以使用
    try{
    }catch{
    }
    也可以把异常都抛到最后
    try{
    }catch(Exception ex){
    }
      

  10.   

    我一般只在有可能出异常的地方用try,有很多地方都是作预判,不让异常发生