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:
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, ) ));
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 ]] );
Guzzle 6:
$client = new \GuzzleHttp\Client(['http_errors' => false]);
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!