2

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

提前致谢!

4

1 回答 1

7

在 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();
    }
  }
}
于 2012-06-14T13:06:18.893 回答