Bagaimana untuk Menangkap Pengecualian daripada Guzzle?

Mary-Kate Olsen
Lepaskan: 2024-11-01 09:48:30
asal
155 orang telah melayarinya

How to Catch Exceptions from Guzzle?

Menangkap Pengecualian daripada Guzzle

Pengenalan

Apabila menguji API menggunakan Guzzle, pengendalian pengecualian ialah penting untuk memastikan pelaporan ralat yang boleh dipercayai dan bermaklumat. Walau bagaimanapun, menangkap pengecualian dalam Guzzle kadangkala boleh mencabar, kerana ralat pengecualian yang tidak dikendalikan mungkin berterusan.

Guzzle 3

Untuk menangkap pengecualian daripada Guzzle, ikut langkah ini:

  1. Balut ujian anda dalam blok cuba/tangkap.
  2. Tambah pendengar acara kepada penghantar acara pelanggan, seperti yang diterangkan dalam dokumentasi Guzzle.
  3. Dalam pendengar acara, kendalikan kod respons HTTP tertentu (cth., 401, 400) dengan menggantikan objek respons dengan yang baharu dan menghalang selanjutnya penyebaran.

Penyelesaian masalah

Jika anda masih menghadapi ralat pengecualian yang tidak dikendalikan, cuba lumpuhkan pengecualian untuk Guzzle dengan mengubah suai proses penciptaan klien. Untuk Guzzle 3:

$client = new \Guzzle\Http\Client($httpBase, array(
  'request.options' => array(
     'exceptions' => false,
   )
));
Salin selepas log masuk

Ini akan membolehkan anda mendapatkan semula semua kod status HTTP tanpa membuang pengecualian.

Guzzle 5.3 dan Guzzle 6

Untuk Guzzle 5.3 dan Guzzle 6, prosedurnya berbeza sedikit:

Guzzle 5.3:

$client = new \GuzzleHttp\Client(['defaults' => [ 'exceptions' => false ]] );
Salin selepas log masuk

Guzzle 6:

$client = new \GuzzleHttp\Client(['http_errors' => false]);
Salin selepas log masuk

Mengendalikan Respons HTTP Kod

Setelah pengecualian dilumpuhkan, anda boleh menggunakan kaedah getStatusCode() objek respons untuk mendapatkan semula kod respons HTTP. Kendalikan kod yang dijangkakan dengan sewajarnya, seperti 200 untuk kejayaan, 304 untuk tiada perubahan atau 404 untuk tidak ditemui. Jika kod yang tidak dijangka ditemui, pertimbangkan untuk membuang pengecualian tersuai.

Atas ialah kandungan terperinci Bagaimana untuk Menangkap Pengecualian daripada Guzzle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!