Sas*_*ota 5 java spring spring-boot grpc grpc-java
我正在使用LogNet grpc-spring-boot-starter实现 gRPC API 。
例如,INVALID_ARGUMENT当传递了不正确的参数时,我想返回错误代码。
如果我抛出一个自定义异常,它会以io.grpc.StatusRuntimeException: UNKNOWN.
问:是否可以定义一些异常处理机制,以便特定类型的异常始终导致正确的 gRPC 状态?
不幸的是,项目中没有那么多文档。
gRPC 不鼓励您抛出异常来将该错误传达给用户。这是因为意外泄露您可能没有考虑发送给客户的信息是微不足道的。
相反,我们鼓励您将 aStatusException或传递StatusRuntimeException给streamObserver.onError(Throwable)。如果您在自己的代码中使用异常来传达此信息,则可以在代码中放置 try-catch 并将异常传递给onError(). 例如,这对于 可能是公平的StatusException,因为它是一个受检查的异常。
TransmitStatusRuntimeExceptionInterceptor将在回调期间捕获异常,如果它是,则StatusRuntimeException使用异常状态关闭调用。这与您的要求非常匹配,但默认情况下并未故意启用它。
| 归档时间: |
|
| 查看次数: |
2164 次 |
| 最近记录: |