提问人: 提问时间:10/23/2008 最后编辑:Nick Fortescue 更新时间:2/14/2009 访问量:2908
Beanshell catch(ex):例外还是可投掷?
Beanshell catch(ex): Exception or Throwable?
问:
beanshell catch(ex) 捕获了什么类型的异常:Exception 或 Throwable?。
例:
try {
.... } catch (ex) { }
答:
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());
}
评论