GWT客户端umbrellaexception在java中获取完整的错误消息

Joh*_*n S 1 debugging gwt google-app-engine client

我目前正在使用GWT,但我发现几乎不可能在Chrome控制台中找到当前错误消息的错误.在本地开发模式和我在GAE上托管应用程序时,我都会收到错误.我如何得到实际的java错误?它说哪条线和我得到的例外?顺便说一句,我正在寻找的错误是什么?

提前致谢!

hse*_*pin 5

在GWT 2.1.1中,出现了UmbrellaException,它一起收集一组子Throwable.试试这个:

public void onModuleLoad() {
  GWT.setUncaughtExceptionHandler(new GWT.UncaughtExceptionHandler() {
    @Override
    public void onUncaughtException(@NotNull Throwable e) {
      ensureNotUmbrellaError(e);
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

其中ensureNotUmbrellaError定义如下:

private static void ensureNotUmbrellaError(@NotNull Throwable e) {
  for (Throwable th : ((UmbrellaException) e).getCauses()) {
    if (th instanceof UmbrellaException) {
      ensureNotUmbrellaError(th);
    } else {
      th.printStackTrace();
    }
  }
}
Run Code Online (Sandbox Code Playgroud)