Beanshell catch(ex):例外还是可投掷?

Beanshell catch(ex): Exception or Throwable?

提问人: 提问时间:10/23/2008 最后编辑:Nick Fortescue 更新时间:2/14/2009 访问量:2908

问:

beanshell catch(ex) 捕获了什么类型的异常:Exception 或 Throwable?。

例:

try {
    .... } catch (ex) {     }
java 异常 beanshell

评论


答:

2赞 Bill K 10/23/2008 #1

Throwable 是 Exception 的超类(本质上)——Exception 捕获的任何内容也会被 Throwable 捕获。在一般用法中,它们是相同的,您很少(如果有的话)看到其他可投掷类型。

评论

0赞 Guido 10/24/2008
没错,但没有回答这个问题。这可能很少见,但是,如果代码抛出一个不是 try 块中的异常的 Throwable,在 beanshell 情况下会发生什么?
0赞 Bill K 10/24/2008
那么答案是,“可投掷”可以捕捉到一切。我以为从我的回答中会更清楚。
5赞 Bob Cross 10/24/2008 #2

这种松散类型的捕获将捕获所有“可投掷”的东西。这将包括错误异常及其无数的子项。您可以通过以下方式轻松确认这一点:

try {
  new Throwable("Something Exceptional");
} catch (ex) {
  System.err.println(ex.getMessage());
}