質問: array( 'code' => $e->getCode() // エラーコードを返したい ) } return $result; //成功時はCurl実行結果、失敗時はエラーコードを返したいとする ``` 端折りましたが、おおむね上記のような実装としました。 これをexecuteが失敗するように、例えば存在しないURIへリクエストを送ったりすると、 $e->getCode() で404エラーは取れるのですが、catchの中で配列にすることができず、下記のエラーとなります。 ``` ErrorException [ Fatal Error ]: Method Fuel\Core\Response::__toString() must not throw an exception DOCROOT/index.php @ line 0 ``` エラーの原因と解決策、またはエラーコードを返せるような方法があればご教示いただきたく存じます。 基本的な例外処理の話かもしれませんが、よろしくお願いいたします。
回答: 検証していないので予想ですが、$resultをreturnした先でどのように扱っているのかが問題なんだと思います。 成功時には$result はRequest_Curlクラスのオブジェクト 失敗時には$result は配列 でreturnされます。同じ種類のデータじゃないので注意です。 失敗した場合でもreturn先でResponseを取り出そうとしてるコードを書いているような気がします。