我目前正在使用 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
}