7

我有一个用 Java 编写的服务器和一个用 PHP 编写的客户端。如果出现任何问题,客户端如何从服务器捕获异常?我在 gRPC 文档中找不到任何有关异常处理的信息。

谢谢!

4

2 回答 2

7

对于已处理的异常,请调用responseObserver.onError(). 如果你传入一个StatusRuntimeExceptionStatusException(通常通过创建status.asRuntimeException())状态代码和描述将被传达给客户端。回调中未处理的异常将取消 RPC 并继续传播异常(通常导致UncaughtExceptionHandler执行程序被调用)。

于 2016-08-08T15:40:07.863 回答
1

在客户端(php)的响应中 http://www.grpc.io/grpc/php/source-class-Grpc.UnaryCall.html#82

此处的状态将具有代码和详细信息字段,它们将确定响应代码和适当的消息(如果按照 Eric 的响应中所述进行设置)。基于此,可以在客户端进行适当的错误处理。

于 2017-04-18T11:49:11.067 回答