java - 总重量。在 onFailure() 内抛出异常

标签 java gwt

GWT 的 RPC 调用的 onFailure() 方法中是否可以抛出异常?因为这个方法稍后会在服务器响应后被调用,我很抱歉这里可能会发生一些不好的事情..

例如:

public void method() {
       try {
            rpc.invoke(new AsyncCallback<Void>() {
               @Override
               public void onSuccess(Void arg0) {}

               @Override
               public void onFailure(Throwable arg0) {
                throw new RuntimeException("Error message");    //HERE
               }
            });
       }
       catch (Exception e) {
           Window.alert(e.getMessage());   // AND CATCH ABOVE EXCEPTION HERE
       }

    }

最佳答案

我通常在我的 GWT 项目中使用以下方法:

1)创建 MyExceptionsHandler:

@Singleton
public class MyExceptionsHandler implements 
    GWT.UncaughtExceptionHandler,
    RpcFailureEvent.Handler, // create corresponding GwtEvent-s 
    AnyOtherErrorEvent.Handler {

  public MyExceptionsHandler(EventBus evenBus) {
    eventBus.addHandler(RpcFailureEvent.TYPE, this);
    eventBus.addHandler(AnyOtherErrorEvent.TYPE, this);
  } 

  // implement corresponding methods for interfaces

}

2)在入口点:

GWT.setUnchaughtExceptionHandler(myExceptionHandler);

3)在任何其他地方,您都会遇到错误,但您不知道如何处理:

rpc.invoke(new AsyncCallback<Void>() {
   @Override
   public void onSuccess(Void arg0) {}

   @Override
   public void onFailure(Throwable arg0) {
     eventBus.fireEvent(new RpcFailureEvent(<any context info you think helpful>));
   }
});

关于java - 总重量。在 onFailure() 内抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13291031/

相关文章:

java - 打印一维数组

java - 返回日期或日历字段

java - 将源验证添加到 StructuredTextViewer

java - 使用 SAX 解析具有未知数量递归的 XML 结构

java - 检测 jpeg 图像中的 IPTC 内容

java - GWT/Java - 关于示例代码的基本 UI 问题

java - GWT DataGrid 未显示

java - 表格单元格中的 TreeView Java FX 8

java - GWT 2.4 应用程序找不到我的 CSS 文件,其类正在通过 UIObject.addStyleName 在代码中使用

css - GWT TabLayoutPanel 使用 cssresources