运行方式完全不一样了啊…… 传统的 PHP 异常是一直不断的向上抛,直到某一层被 catch 住,如果没有任何 catch,才会调用 set_exception_handler。 而 swoole 提供了单独的进程模型,在运行以后会接管系统控制权,回调函数相当与是最终的 PHP 出口和入口,异常根本就无法向最外层抛出,set_exception_handler 设置的回调当然不会被调用。 你可以简单的理解为 swoole 本身最外层有一个大 try-catch,异常在 swoole 内就被吞了。
运行方式完全不一样了啊……
传统的 PHP 异常是一直不断的向上抛,直到某一层被 catch 住,如果没有任何 catch,才会调用 set_exception_handler。
而 swoole 提供了单独的进程模型,在运行以后会接管系统控制权,回调函数相当与是最终的 PHP 出口和入口,异常根本就无法向最外层抛出,set_exception_handler 设置的回调当然不会被调用。
你可以简单的理解为 swoole 本身最外层有一个大 try-catch,异常在 swoole 内就被吞了。