Heim >Backend-Entwicklung >PHP-Tutorial >Wie fängt man Ausnahmen von Guzzle ab?

Wie fängt man Ausnahmen von Guzzle ab?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-01 09:48:30235Durchsuche

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,
   )
));

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 ]] );

Guzzle 6:

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

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!

Stellungnahme:
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