錯誤同重試
呢頁係由英文翻譯過嚟嘅。如果兩個版本有出入,以英文頁為準。 睇英文頁
函式庫拋出嘅每一個失敗都係四種錯誤之一,而呢四種錯誤共用同一個基底型別,所以一個處理程式就可以全部捉晒。
- API 錯誤。 API 拒絕咗個請求。佢帶住 HTTP 狀態碼、一個穩定嘅
code畀你做分支判斷,同埋一段用你要求嘅語言寫嘅訊息。 - OAuth 錯誤。 權杖端點拒絕咗你嘅憑證,或者你要求嘅權限範圍。
- 維護錯誤。 API 因為維護暫時用唔到。
- 傳輸錯誤。 冇收到可以用嘅回應:連線失敗或者逾時,又或者回應讀唔到。
取消呼叫唔算錯誤。佢會用你嗰種語言本身嘅取消機制出現。
邊啲會重試
429 或者 503 如果喺 Retry-After 標頭講咗要等幾耐,而且唔超過 60 秒,就會啱啱等夠咁耐之後重試。一次呼叫最多試 3 次。將最大次數設做 1 就可以閂咗重試。
其他情況就會即刻拋出:
- 冇
Retry-After嘅 429 或者 503; - 超過 60 秒嘅等待,函式庫唔會喺你嘅呼叫入面花呢段時間。個錯誤會帶住
retry_after,你可以自己安排重試; - 傳輸錯誤,因為個請求可能已經去到 API;
- 任何已經送出過事件嘅串流。