gsk's place

my love

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 catch 和 finally 一起使用的常见方式是:在 try 块中获取并使用资源,在 catch 块中处理异常情况,并在 finally 块中释放资源。

 

public class abc
{
    static void Main1(string[] args)
    {
        try
        {
            //...
        }
        catch (ReStartupException e)
        {
            //...
        }
        catch (Exception ex)
        {
            //...
        }
        finally
        {
            //...
        }
    }
}
// 摘要: // 系统应立即重启的异常 public class ReStartupException : Exception { public ReStartupException(string str); }

首先你throw的话肯定直接往上抛了,抛到调用它的父函数里,假如父函数有异常处理的话就会抓住你抛上来的异常,至于交给那个catch处理的话那要看你的定义,假如你抛的是自定义了异常类型A,而你又指定了
try{}
catch(A ex)
{}
catch(B ex)
{}
catch(Exception ex)
{}
这样会交给第一个catch处理,因为你指定了A异常的处理方式,假如都不是你定义的话就会采用最后一个处理,因为Exception是所有异常的基类

 

posted on 2015-12-04 15:11  gsk99  阅读(432)  评论(0编辑  收藏  举报