
在协程编程中可直接运用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毛病处置惩罚的要领的细致内容,更多请关注ki4网别的相干文章!