次のようになりますforeachループで({}キャッチ(){}してみてください)を:PHPの例外
foreach ($apis as $api)
{
$api = '_'.$api;
$searchResults[$api] = $this->$api($parameters);
}
私はPHPの例外を実装しますのための場合$ this-> api();は、エラーメッセージをキャッチするよりも返します。キャッチ内でifを実行すると、返されたエラーメッセージの正しいメッセージが表示されます。
編集: また、エラーとをキャプチャすると、エラーメッセージがある場合は1、それは行うには良い方法である(例えば):
$searchResults['api'] = $this->_api($parameters);
は、それが再び機能をやるとかどうかを確認しようとします今回は有効なデータが得られますか?
理由だけで:
をまた同様に、その内部の別のExceptionクラスと別の
catch()
を追加することで、異なる種類の複数の例外を処理することができます一度試してみる?再試行ポリシーが必要な場合は、ポリシーを示す方法で実装する必要があります。たとえば、原因を失われたと宣言する前に、少なくとも5回の再試行を保証するカウンタを備えたwhileループを配置することができます。 –