Exception与Throwable

来源:互联网 发布:情定三生知夏死了没 编辑:程序博客网 时间:2024/05/16 17:51

今天遇到一个奇怪的问题

定义了一个异常类,ServiceException,继承java.Long.Exception的

但是呢

代码里面

try{

    code1(  throw new ServiceException("1111111111111")  );

    code2(  throw new ServiceException("2222222222222")  );

}catch(Exception e){


}

但是呢,代码走到code1的时候,异常也throw了,居然没有捕获到,code2捕获到了

换成

try{

    code1(  throw new ServiceException("1111111111111")  );

    code2(  throw new ServiceException("2222222222222")  );

}catch(Throwable e){


}

就能捕获到code1了,code2不执行,这是为什么呢???

ServiceException继承了Exception啊,exception是throwable的子类,

但是,为什么exception捕获不到第一个呢????

难道不捕获?

还是直到代码走完了才捕获?在这不科学吧

throwable就是立即捕获??


0 0
原创粉丝点击