当前位置:Gxlcms > php框架 > swoole怎么处理错误

swoole怎么处理错误

时间:2021-07-01 10:21:17 帮助过:32人阅读

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

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

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

下面的代码中,try/catch和throw在不同的协程中,协程内无法捕获到此异常。

当协程退出时,发现有未捕获的异常,将引起致命错误。

  1. Fatal error: Uncaught RuntimeException
  2. try {
  3. Swoole\Coroutine::create(function () {
  4. throw new \RuntimeException(__FILE__, __LINE__);
  5. });
  6. }
  7. catch (\Throwable $e) {
  8. echo $e;
  9. }

正确

在协程内捕获异常。

  1. function test() {
  2. throw new \RuntimeException(__FILE__, __LINE__);
  3. }
  4. Swoole\Coroutine::create(function () {
  5. try {
  6. test();
  7. }
  8. catch (\Throwable $e) {
  9. echo $e;
  10. }
  11. });

以上就是swoole怎么处理错误的详细内容,更多请关注Gxlcms其它相关文章!

人气教程排行