小编Inf*_*o E的帖子

在GuzzleHttp上处理客户端错误异常

我试图处理请求状态代码,基本上检查状态是否为200,以防不处理。我正在使用一个名为“ GuzzleHttp \ Client”的程序包,当出现404时,它给我一个错误:

Client error: `GET https://api.someurl---` resulted in a `404 Not Found` response:
{"generated_at":"2017-09-01T16:59:25+00:00","schema":"","message":"No events scheduled for this date."}
Run Code Online (Sandbox Code Playgroud)

但是比在屏幕上以我想要更改的格式显示,所以我试图捕捉并在视图上提供不同的输出。但是不起作用,它仍然给我红色屏幕错误。

try {
            $client = new \GuzzleHttp\Client();
            $request = $client->request('GET', $url);
            $status = $request->getStatusCode();
            if($status == 200){
                return $status;

            }else{

                throw new \Exception('Failed');
            }

        } catch (\GuzzleHttp\Exception\ConnectException $e) {
            //Catch errors
            return $e->getStatusCode();

        }
Run Code Online (Sandbox Code Playgroud)

laravel guzzle laravel-5

1
推荐指数
1
解决办法
3422
查看次数

标签 统计

guzzle ×1

laravel ×1

laravel-5 ×1