【问题标题】:How to pass exception from Server to Client side in GWT RPC如何在 GWT RPC 中将异常从服务器传递到客户端
【发布时间】:2014-11-21 18:56:50
【问题描述】:

我正在使用 GWT 中的 Async 方法创建 RPC 调用。我必须检查我的服务器端是否有任何错误。我可以在 GWT RPC 的客户端捕获服务器端的异常吗?

【问题讨论】:

    标签: gwt exception-handling rpc gwt-rpc


    【解决方案1】:

    必须在 RemoteService 接口的方法中的 throws 子句中声明异常,并且必须在与任何其他传输类相同的条件下由 GWT-RPC 序列化。

    您将在AsyncCallback 的onFailure 中收到异常。另请参阅javadoc for AsyncCallback。


    编辑:实际上,我刚刚说了与文档已经说过的相同的话:http://www.gwtproject.org/doc/latest/DevGuideServerCommunication.html#DevGuideHandlingExceptions

    【讨论】:

      【解决方案2】:

      是的,你可以。只需确保您的异常实现了 Serializable:

      public class LoginException extends Exception implements Serializable {
      
          public LoginException() {
          }
      }
      

      【讨论】:

      • 我正在尝试将外部服务器信息拉到 RPC 服务器,然后尝试在我的客户端显示信息。这在这种情况下也有效吗?我是否应该在我的服务器端实现中扩展这个异常类并将其放在 TRY-CATCH 块中以将异常发送到 RPC 的客户端。
      • 如果外部异常是可序列化的,您可以简单地将其抛出到您的 RPC 方法中。如果没有,你可以创建自己的异常,设置你想要的消息,然后抛出它。
      • ...并在您的 RPC 接口中声明为 throws。没有它,GWT 不知道你想发送它。
      猜你喜欢
      • 2013-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-03
      • 2016-11-28
      相关资源
      最近更新 更多