try {
throw new SomeException();
}
catch (SomeException e) {
System.out.println("reached once");
throw e;
}
catch (Exception e) {
System.out.println("reached twice");
}
即使在第一个catch子句中再次抛出异常,此代码也只显示“达到一次”。为了执行这两个catch子句,如何解决这个问题?如何捕获抛出catch子句中的异常?
PS:上面的代码是我的一个普遍问题,我不得不将它应用到一个更大的代码中,它带有大约5个或6个catch子句,它们捕获不同的异常,但最后,在某个点循环我需要再次抛出异常。
包装这个'尝试,catch'在_another_'尝试,catch'。 –
不要这样做。数十年来,“登录并投掷”已被确定为反模式。 – EJP