2010-11-09 47 views
6

我似乎遇到了一个奇怪的问题。在本地环境中使用我的GWT应用程序时,一切都按照它应该的方式工作。编译和部署我的应用程序后出现问题。当我通过我的项目工作流程,并单击某个链接可以切换到一个新的面板,我得到以下错误(从我在Chrome控制台):什么可能导致部署的GWT应用程序UmbrellaException匿名函数?

Uncaught com.google.gwt.event.shared.UmbrellaException: One or more exceptions 
caught, see full set in UmbrellaException#getCauses (anonymous function) 

此错误是由高速缓存文件的一个抛出在编译时由GWT生成。但是这从来没有发生在本地部署的程序上(从Eclipse部署,“作为Web应用程序运行”)。有没有人遇到过这个问题,或者可以提供任何解决方法?

谢谢! :)

+1

什么是完整的堆栈跟踪? UmbrellaExceptions包括什么错误导致它进一步向下。 – 2010-11-09 18:42:25

+0

没有堆栈跟踪。 Chrome错误控制台只显示一个例外情况,并说“(匿名函数)” 当仅使用Eclipse在本地部署时,此异常不会发生,因此没有任何跟踪。 – 2010-11-09 20:02:01

+1

放入try catch并打印嵌套异常的堆栈跟踪。 – crowne 2010-11-09 20:26:15

回答

2

我刚才也有同样的问题。在本地工作,失败与提到的JavaScript控制台错误,没有在服务器日志中。

原来,客户端Java代码(与Javascript一致)具有try/catch块,它在Java中执行时工作,但在编译为Javascript时静默失败。我仍然不确定问题的确切性质,但尝试删除try/catch块。

(它似乎在我的情况下,table.getWidget()呼叫失败,抛出异常。)

+0

迄今为止最好的回答。我们实际上从来没有回到问题的根源,而是改变了我们的面板转换工作流程,似乎解决了这个问题。谢谢! – 2010-11-17 04:16:36

1

我有同样的问题,我想尝试捕捉的解释并不比在Java中一样的... GWT编译后,当你在抓住案件时,执行失败。如果你打开萤火虫,你可以看到JS的错误点。

1

我有同样的问题,它在开发模式下工作。然后,我编译后,我会得到一个错误。要解决,我不得不摆脱:

try{ 
    //some code 
} catch(NullPointerException ex){ 
    //more code 
} 

相反,我做的事:

if(variable != null){ 
    //some code 
} else { 
    //more code 
} 

之后,它完美地工作。

相关问题