swoole错误处理的方法

swoole错误处理的方法

在协程编程中可直接使用try/catch处理异常。但必须在协程内捕获,不得跨协程捕获异常。

不仅是应用层throw的Exception,底层的一些错误也是可以被捕获的,如functionclass、method不存在

错误

下面的代码中,try/catch和throw在不同的协程中,协程内无法捕获到此异常。当协程退出时,发现有未捕获的异常,将引起致命错误。

Fatal error: Uncaught RuntimeException
try {     swooleCoroutine::create(function () {         throw new RuntimeException(__FILE__, __LINE__);     }); } catch (Throwable $e) {     echo $e; }

正确

在协程内捕获异常。

function test() {     throw new RuntimeException(__FILE__, __LINE__); }  SwooleCoroutine::create(function () {     try {         test();     }     catch (Throwable $e) {         echo $e;     } });

推荐学习: swoole视频教程

以上就是

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享