Wie fängt man Ausnahmen von Guzzle ab?

Mary-Kate Olsen
Freigeben: 2024-11-01 09:48:30
Original
155 Leute haben es durchsucht

How to Catch Exceptions from Guzzle?

Ausnahmen von Guzzle abfangen

Einführung

Beim Testen von APIs mit Guzzle ist die Behandlung von Ausnahmen wichtig entscheidend, um eine zuverlässige und aussagekräftige Fehlerberichterstattung zu gewährleisten. Das Abfangen von Ausnahmen in Guzzle kann jedoch manchmal eine Herausforderung sein, da nicht behandelte Ausnahmefehler bestehen bleiben können.

Guzzle 3

Um Ausnahmen von Guzzle abzufangen, führen Sie die folgenden Schritte aus:

  1. Verpacken Sie Ihre Tests in einen Try/Catch-Block.
  2. Fügen Sie einen Ereignis-Listener zum Ereignis-Dispatcher des Clients hinzu, wie in der Guzzle-Dokumentation beschrieben.
  3. Im Ereignis-Listener Behandeln Sie bestimmte HTTP-Antwortcodes (z. B. 401, 400), indem Sie das Antwortobjekt durch ein neues ersetzen und eine weitere Verbreitung verhindern.

Fehlerbehebung

Wenn Wenn Sie weiterhin auf nicht behandelte Ausnahmefehler stoßen, versuchen Sie, Ausnahmen für Guzzle zu deaktivieren, indem Sie den Client-Erstellungsprozess ändern. Für Guzzle 3:

$client = new \Guzzle\Http\Client($httpBase, array(
  'request.options' => array(
     'exceptions' => false,
   )
));
Nach dem Login kopieren

Dadurch können Sie alle HTTP-Statuscodes abrufen, ohne Ausnahmen auszulösen.

Guzzle 5.3 und Guzzle 6

Für Guzzle 5.3 und Guzzle 6 ist die Vorgehensweise etwas anders:

Guzzle 5.3:

$client = new \GuzzleHttp\Client(['defaults' => [ 'exceptions' => false ]] );
Nach dem Login kopieren

Guzzle 6:

$client = new \GuzzleHttp\Client(['http_errors' => false]);
Nach dem Login kopieren

Umgang mit HTTP-Antwortcodes

Sobald Ausnahmen deaktiviert sind, können Sie die Antwortobjekte verwenden getStatusCode()-Methode zum Abrufen des HTTP-Antwortcodes. Behandeln Sie erwartete Codes entsprechend, z. B. 200 für Erfolg, 304 für keine Änderung oder 404 für nicht gefunden. Wenn ein unerwarteter Code auftritt, sollten Sie erwägen, eine benutzerdefinierte Ausnahme auszulösen.

Das obige ist der detaillierte Inhalt vonWie fängt man Ausnahmen von Guzzle ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!