swoole中用什么方法处理异常,有什么条件
Admin 2022-07-21 群英技术资讯 717 次浏览
在协程编程中可直接使用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; } });
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
PHP中的变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的。变量名与PHP中其它的标签一样遵循相同的规则。一个有效的变量名由字母或者下划线开头,后面跟上...
基于laravel的开源系统:1、October;2、PyroCMS;3、LavaLite;4、TypiCMS;5、Microweber;6、AsgardCMS;7、CoasterCMS;8、BorgertCMS;9、WebEdCMS等等。
RabbitMQ的持久化主要体现在三个方面,即交换机持久化,队列持久化及消息持久化注意,因公司使用php-amqplib来实现RabbitMQ,故之后举例说明的代码均使用的php-amqplib,而非php的amqp扩展
今天小编就为大家分享一篇Laravel实现ApiToken认证请求,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
事务对于很多新手来说都是比较难理解的内容,为了帮助大家熟悉事务,这篇文章就给大家介绍关于laravel eloquent实现事务的方式,下面我们一起来学习一下吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008