我有一个GWT项目,其中有一个这样的方法:
@Override
public void onFailure(Throwable caught)
{
if (caught.getClass()== MyException.class)
{
//do specific stuff
}
else
{
// do generic stuf
}
}
其中
MyException
是自定义定义的异常。我的一位同事告诉我,由于它将被转换成JavaScript,即“没有类”,所以这不是一个好主意,我应该使用: @Override
public void onFailure(Throwable caught)
{
try {
throw caught;
} catch (MyException e) {
//do specific stuff
} catch (Throwable t) {
//do generic stuff
}
}
由于第一种方法确实有效(至少在我这边),如果我继续使用它会出现任何问题,还是我应该选择第二种方法?
最佳答案
您可以使用instanceof
运算符,它可以工作-
@Override
public void onFailure(Throwable caught)
{
if (caught instanceof MyException)
{
//do specific stuff
}
else
{
// do generic stuf
}
}