我正面临类似于Java中的阴影的问题。我有以下代码:父类方法在子类方法之前被调用
public abstract class AsyncCallback<T> implements com.google.gwt.user.client.rpc.AsyncCallback<T>{
@Override
public void onFailure(Throwable caught){
try{
throw caught;
}catch(){
}//various catch blocks
.
.
catch(Throwable e){
onError();
}
}
public void onError() {
//print something
}
abstract public void retry();
}
现在我打电话以下语法一个RPC调用:
rpc.callAnyMethod(param, new AsyncCallback<SomeClass>(){
@Override
public void onSuccess(SomeClass class) {
setSomeClass(class);
}
@Override
public void onFailure(Throwable caught) {
try {
throw caught;
} catch (ClientException e) {
if (e.getMessage().equals(sometoken)) {
//redirect to a link
}
} catch (Throwable e) {
retry();
}
}
@Override
public void retry() {
//call the method again.
}
});
但问题是,在父类XYZ从onError的印刷方法()函数首先,然后重定向到我想要的链接。
任何帮助,将不胜感激。
请注意,将异常用作流量控制并不是一个好习惯。 –
既然你创建了一个匿名的'AsyncCallback',你的XYZ类将如何被隐含在这个代码中呢?您是否设置了默认处理程序? –
抱歉好心地检查代码现在... :) – Sourabh