我有一个连接到第三方API的脚本.它应该是24/7不间断循环运行(我在重新启动循环之前使用了一个睡眠).
问题是,有时第三方API会被ddosed或连接只是因为这个错误而丢失:
致命错误:未捕获异常'GuzzleHttp\Ring\Exception\ConnectException',消息'cURL错误7:无法连接到xxx.com端口443
有没有办法"破坏"这个致命的错误,以确保代码重新启动并继续,如果可以进行操作或必须我每次出现此错误时手动重新启动?
看起来你可以捕获GuzzleHttp\Ring\Exception\ConnectException异常
像这样:
use GuzzleHttp\Ring\Exception\ConnectException;
try {
// the code which throws the error
} catch( ConnectException $ex ) {
switch ( $ex->getMessage() ) {
case '7': // to be verified
// handle your exception in the way you want,
// maybe with a graceful fallback
break;
}
}
Run Code Online (Sandbox Code Playgroud)
似乎guzzle的ConnectException 扩展了 一些 类并最终扩展了php的Exception,因此您可以安全地使用getCode()方法,允许您捕获一个标识符,您可以根据需要做出相应的反应.
| 归档时间: |
|
| 查看次数: |
5883 次 |
| 最近记录: |