今天遇到一个奇怪的问题
定义了一个异常类,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就是立即捕获??