Java - 可以抛出异常

时间:2012-09-10 20:45:02

标签: java exception throwable

我目前正在使用play2框架。

我有几个类正在抛出exceptions但是play2s全局onError处理程序使用throwable而不是异常。

例如,我的一个类正在抛出NoSessionException。我可以检查一个可抛出的对象,如果它是NoSessionException吗?

4 个答案:

答案 0 :(得分:30)

您可以使用instanceof来检查它是否为NoSessionException

示例:

if (exp instanceof NoSessionException) {
...
}

假设expThrowable引用。

答案 1 :(得分:25)

简而言之。我们可以将Throwable传递给Exception构造函数。

 @Override
 public void onError(Throwable e) {
    Exception ex = new Exception(e);
 }               

从Android

中查看此Exception

答案 2 :(得分:3)

除了检查它是否instanceof你可以使用try catch并捕获NoSessionException

try {
    // Something that throws a throwable
} catch (NoSessionException e) {
    // Its a NoSessionException 
} catch (Throwable t) {
    // catch all other Throwables
}

答案 3 :(得分:2)

Throwable是一个Exception - 及其所有子类 - 子类的类。没有什么可以阻止您在instanceof上使用Throwable