[英]How to handle custom exceptions with gRPC in Python?
我需要實現自定義異常以使用 Python 處理 gRPC 請求錯誤。 對於 HTTP 請求,它很簡單 - requests 庫在出現錯誤代碼等時可以很好地捕獲它。我正在尋找 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
大多數情況下,try-catch 就足夠了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.