我目前正在使用 play2 框架。
我有几个正在抛出的类,exceptions
但 play2s 全局onError
处理程序使用 throwable 而不是异常。
例如,我的一门课是扔一个NoSessionException
. 我可以检查一个可抛出的对象,如果它是一个NoSessionException
?
您可以使用instanceof
它来检查它是否属于NoSessionException
。
例子:
if (exp instanceof NoSessionException) {
...
}
假设exp
是Throwable
参考。
只是让它简短。我们可以传递Throwable
给Exception
构造函数。
@Override
public void onError(Throwable e) {
Exception ex = new Exception(e);
}
从 Android 中查看此异常
如果它是 NoSessionException ,我可以检查可抛出对象吗?
当然:
Throwable t = ...;
if (t instanceof NoSessionException) {
...
// If you need to use information in the exception
// you can cast it in here
}
Throwable
是一个类,Exception
因此它的所有子类都是子类。没有什么能阻止你instanceof
在Throwable
.
除了检查它是否是一个instanceof
你可以使用 try catch 和 catch NoSessionException
try {
// Something that throws a throwable
} catch (NoSessionException e) {
// Its a NoSessionException
} catch (Throwable t) {
// catch all other Throwables
}