8

onReject ハンドラー内で例外をキャッチする (転送する) 方法がよくわかりません。成功する方法について誰かが私を正しい方向に向けることができるかどうか疑問に思っていました.

いくつかの非同期リクエストを送信していますが、「キャッチされていない例外が発生しました - タイプ: GuzzleHttp\Exception\ClientException」で失敗すると、キャッチされません。

読みました:

しかし、以下が機能しない理由は明らかではありません。私の理解では、ClientException が onReject (RequestException) 内でスローされると、次の onReject (ClientException) にさらにプッシュされ、適切にキャッチされます。

どんな助けでも大歓迎です。

$client = new GuzzleHttp\Client();

$promise = $client->requestAsync('POST', SOME_URL, [
  ... SOME_PARAMS ...
]);

$promise->then(
function (ResponseInterface $res) {
  //ok
},
function (RequestException $e) {
  //inside here throws a ClientException
}
)->then(null, function (ClientException $e) {
  //Why does it not get caught/forwarded to this error handler?
});
4

2 に答える 2