在GWT中,当由于任何原因导致RPC失败时onfailure()方法在客户端执行。
当onFailure()当时调用时,浏览器的网络响应中会显示实际错误。
所以,我的问题很简单,如何用一些用户友好的错误隐藏/修改这个实际错误?
答案 0 :(得分:0)
您可以覆盖onFailure()方法以显示所需内容,但无法修改浏览器在“网络”标签中显示的内容。
这是我的代码中的一个示例(LoginException和VersionException是我的RPC调用在必要时抛出的异常):
@Override
public void onFailure(Throwable caught) {
if (caught instanceof LoginException) {
// Redirect a user to login page
Window.Location.assign("/");
} else if (caught instanceof IncompatibleRemoteServiceException ||
caught instanceof VersionException) {
/*
* Here I tell a user that a new version is available,
* so a user needs to refresh the page
*/
} else {
// Here I show a simple message about a connection error
}
}