我需要实现自定义异常来使用 Python 处理 gRPC 请求错误。对于 HTTP 请求,它很简单 - 当出现错误代码等时,请求库可以很好地捕获它。我正在寻找 gRPC 的类似方法来执行以下操作:
try:
# send gRPC request
except SomeGRPCException as e:
# custom handle
有没有办法像 Python 中那样处理 gRPC 错误?或者使用 gRPC 它不会像示例中那样工作?
对于简单的 RPC 错误处理,可以使用 try-catch:
try:
response = stub.SayHello(...)
except grpc.RpcError as rpc_error:
if rpc_error.code() == grpc.StatusCode.CANCELLED:
pass
elif rpc_error.code() == grpc.StatusCode.UNAVAILABLE:
pass
else:
print(f"Received unknown RPC error: code={rpc_error.code()} message={rpc_error.details()}")
对于复杂的 RPC 错误处理,您可能需要利用尾随元数据:https://github.com/grpc/grpc/tree/master/examples/python/errors https://github.com/grpc/grpc/tree/master/examples/python/errors
在大多数情况下,try-catch 就足够了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)