我正面臨類似於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