【发布时间】:2012-09-10 20:45:01
【问题描述】:
我目前正在使用 play2 框架。
我有几个类正在抛出 exceptions,但 play2s 全局 onError 处理程序使用 throwable 而不是异常。
例如,我的一门课正在抛出NoSessionException。如果它是NoSessionException,我可以检查可投掷对象吗?
【问题讨论】:
-
Throwable 是所有异常的超类。你可以
catch一个 throwable,然后询问它的类,看看它是不是 NoSessionException 还是什么。 -
谢谢大家的快速回答。
-
当然,您也可以专门捕获 NoSessionException,然后将其传递给期望 Throwable 的接口——因为 Throwable 是接口将接受 NoSessionException 的超类。
-
(如果你确实捕获了所有 Throwables,你不应该简单地忽略那些你没有选择的,而是应该重新抛出它们。)