簡體   English   中英

如何在 Python 中使用 gRPC 處理自定義異常?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM