如何处理GWT / GXT中的客户端异常?

时间:2012-11-22 14:31:34

标签: java gwt smartgwt gxt

我正在使用GWT。如果生成任何服务器端异常,我们将发送包含错误详细信息的电子邮件(已使用log4j SMTPAppender)。根据行号,我们可以解决问题..

我的方案是,如果在客户端软件包代码中生成任何异常,截至目前,我们正在给出通用消息“一些异常已经发生”。但是有可能显示错误堆栈跟踪以及异常原因和行号吗?我的代码如下:

 GWT.setUncaughtExceptionHandler(new   
                      GWT.UncaughtExceptionHandler() {  
                      public void onUncaughtException(Throwable e) {  

                          Window.alert("Some Exception has Occured");

                      }    


                    });  

我不认为随着客户端软件包在Web模式下转换为Javascript是可能的。如果有任何方法可以显示异常原因和行号,请​​建议我。

2 个答案:

答案 0 :(得分:1)

您可以阅读this page

基本上,您必须使用JUL进行日志记录,并且它是客户端日志记录:firebug,JS控制台等...您可以使用RemoteLogging做一些更聪明的事情,但我无法帮助您。

主要问题是不支持log4j。也许通过JUL和log4j之间的桥梁,您将能够实现您想要的一切

答案 1 :(得分:1)

我建议使用gwt-log: Project Page

gwt-log支持'UncaughtExceptionHandler',RemoteLogger支持向服务器发送消息/异常。

在gwt-log中,你也可以打开“模拟堆栈”,这正是你想要做的: Wiki Page - Emulated Stack

但请注意,这会为编译的JS脚本添加大量代码