当前位置:  开发笔记 > 后端 > 正文

swoole怎么处理错误

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

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

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

错误 (推荐学习: swoole视频教程)

下面的代码中,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怎么处理错误的详细内容,更多请关注其它相关文章!

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有