首頁  >  文章  >  後端開發  >  如何從 Guzzle 捕獲異常?

如何從 Guzzle 捕獲異常?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-01 09:48:30156瀏覽

How to Catch Exceptions from Guzzle?

從Guzzle 捕獲異常

簡介

使用Guzzle 測試API 簡介

使用Guzzle 測試API對於確保可靠且資訊豐富的錯誤報告至關重要。然而,在 Guzzle 中捕獲異常有時可能具有挑戰性,因為未處理的異常錯誤可能會持續存在。

Guzzle 3

  1. 要從Guzzle 捕獲異常,請按照以下步驟操作:
  2. 將測試包裝在try/catch 塊中。
  3. 將事件監聽器新增至客戶端的事件調度程序,如 Guzzle 文件中所述。

在事件監聽器內,透過用新的回應物件取代回應物件並防止進一步傳播來處理特定的 HTTP 回應程式碼(例如 401、400)。

故障排除

如果如果您仍然遇到未處理的異常錯誤,請嘗試透過修改客戶端建立程序來停用 Guzzle 的異常。對於
$client = new \Guzzle\Http\Client($httpBase, array(
  'request.options' => array(
     'exceptions' => false,
   )
));
Guzzle 3

這將允許您檢索所有 HTTP 狀態代碼而不引發異常。

Guzzle 5.3 和Guzzle 6 對於Guzzle 5.3

Gujile 6,程式略有不同:

$client = new \GuzzleHttp\Client(['defaults' => [ 'exceptions' => false ]] );
Guzzle 5.3:

$client = new \GuzzleHttp\Client(['http_errors' => false]);
Guzzle 6:

一旦停用異常,您就可以使用回應物件的getStatusCode() 方法檢索HTTP 回應碼。相應地處理預期的程式碼,例如 200 表示成功,304 表示沒有更改,或 404 表示未找到。如果遇到意外的程式碼,請考慮拋出自定義例外。

以上是如何從 Guzzle 捕獲異常?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn