您的位置 首页 技术

swoole错误处理的方法

在协程编程中可直接使用try/catch处理异常。但必须在协程内捕获,不得跨协程捕获异常。 不仅是应用层throw的Exception,底层的一些错误也是可以被捕获的,如funct…

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

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

错误

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

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

正确

在协程内捕获异常。

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

推荐学习: swoole视频教程

以上就是swoole错误处理的方法的详细内容,更多请关注24课堂在线网其它相关文章!

本文来自网络,不代表24小时课堂在线立场,转载请注明出处:https://www.24ketang.cn/16723.html

为您推荐

返回顶部