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

时间:2012-06-14 08:02:16

标签: debugging google-app-engine gwt client

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

提前致谢!

1 个答案:

答案 0 :(得分:5)

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

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

ensureNotUmbrellaError的定义如下:

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