我用 GWT 开发一个项目已经有好几个月了,但是自从两周左右以来,当发生错误时,我在码头开发模式窗口中没有得到更多的反馈......
怎么会来??这可能是由于日志记录模块的一些错误配置引起的吗?一些错误在启动的码头应用程序的控制台上显示为 [INFO]。
我用 GWT 开发一个项目已经有好几个月了,但是自从两周左右以来,当发生错误时,我在码头开发模式窗口中没有得到更多的反馈......
怎么会来??这可能是由于日志记录模块的一些错误配置引起的吗?一些错误在启动的码头应用程序的控制台上显示为 [INFO]。
尝试 CCleaner 软件并清理所有最近的文件、浏览器缓存、临时文件等。然后只需重新启动 eclipse 或更好地重新启动整个系统。此外,检查您是否为错误/异常调用了 GWT.log("MESSAGE") 方法。
如果出现以下情况,可能会发生 GWT 的奇怪行为:
你有“服务器”(不包括源代码)类
您只能导入到服务器类
用于通过服务进行通信的 bean 之一不可序列化(或不可扩展 IsSerializable)或其任何属性不可序列化
您用于通过服务进行通信的 bean 没有参数构造函数(或任何父类)
您用于通过服务进行通信的 bean 具有最终字段
当我搜索为什么我的代码被破坏时,我几乎得到了所有这些。我当然没有包括所有案例:)
更新
在我们的项目中,我们扩展了 AsyncCallback
public abstract class MyAsyncCallback<T> implements AsyncCallback<T> {
@Override
public final void onFailure(Throwable caught) {
yourLogger.log(caught);
onFailureDefault(caught);
}
protected abstract void onFailureImpl(Throwable caught);
}
你必须用这个替换你所有的 AsyncCallback。现在您可以控制错误。有时会被错误的错误处理抑制。
另请参见GWT.setUncaughtExceptionHandler(GWT.UncaughtExceptionHandler 处理程序)