我最近使用 Guzzle 来抓取一个 URL,并且在没有错误的情况下可以正常工作。
但是,如果有例如 404,让我们说
$response = $client->get('http://www.google.com/test')->send();
手册(响应状态行)建议上面的代码将允许我打电话
$response->isSuccessful();
但是当接收请求出错时send()
抛出一个。ClientErrorResponseException
抛出的异常如下
Guzzle\Http\Exception\ClientErrorResponseException
Client error response
[status code] 404
[reason phrase] Not Found
[url] http://www.google.com/test
因此,捕获该异常显然可以防止我的应用程序停止,但这意味着我没有可以调用各种isX
方法的响应对象。
isSuccessful
清楚地捕捉到异常在某种程度上给了我相同的答案,但上述手册页上的其他一些方法也很有用。
我究竟做错了什么?