我目前正在使用play2框架。
我有几个类正在抛出exceptions
但是play2s全局onError
处理程序使用throwable而不是异常。
例如,我的一个类正在抛出NoSessionException
。我可以检查一个可抛出的对象,如果它是NoSessionException
吗?
答案 0 :(得分:30)
您可以使用instanceof
来检查它是否为NoSessionException
。
示例:
if (exp instanceof NoSessionException) {
...
}
假设exp
是Throwable
引用。
答案 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
。