簡體   English   中英

我應該針對REST API錯誤提出哪個異常?

[英]Which exception should I raise for a REST API error?

我正在用Python編寫一個簡單的API客戶端,我想知道如果遠程服務器不滿意,我應該引發什么異常。

API本身的文檔很少(我不知道所有可能的錯誤消息,所以我不能只為它們定義所有的自定義類),我讓Requests處理HTTP級錯誤,在這些情況下會引發HTTPError ,但是如果服務器只在JSON響應中提供error密鑰,我應該提出什么?

我目前正在使用Exception但感覺相當廣泛,我想知道是否有更好的選擇。

問候。

是的,只是提出Exception可能過於寬泛。

通常,模塊應該定義自己的基本異常類:

class MyAPIClientError(Exception):
    pass

然后你可以繼承那個:

class RemoteServerNotHappyError(MyAPIClientError):
    pass

RemoteServerNotHappyError可能應該提到服務器的json返回的內容,這是API客戶端類所不期望的。 根據需要添加相關的錯誤消息。

這意味着您的庫的用戶可以捕獲這些特定的異常(他們可能知道如何處理),而不必捕獲每個異常(他們肯定不知道如何處理每個可能的失敗模式)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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