关于webman异常处理的疑问

webmanlover

问题描述

webman或者workerman似乎不支持try catch这种捕获异常?我知道PHP对这个处理异常很弱鸡,但是其他框架,比如thinkphp等利用set_error_handler set_exception_handler等内置函数做了处理的,在一个方法内可以利用try catch捕获可能出现异常的代码块,做一个处理,保证这个方法能继续运行,继续走下去,webman似乎不行?

//比如thinkphp

public function foo(){
    一些业务代码。。。

    try{
        调用某个api接口,可能会超时啊,连接不上之类的之类异常
    } catch (\Exception $e) {
        thinkphp能进入这里,能调用备份api之类的,或者做其他操作,整个foo()不会退出,会继续执行。webman不行,会终止了foo(),被那个异常类捕获了。
    }

    继续执行
    return ....;
}

为此你搜索到了哪些方案及不适用的原因

我不知道我写清楚了没,或者我表达对不对,有大佬能解惑一下吗?

1967 3 0
3个回答

喵了个咪

try catch 和普通用法一样啊

2548a

用 Throwable

  • webmanlover 2023-03-10

    我试试,谢谢

  • webmanlover 2023-03-10

    这个好像可以了,谢谢大佬,我那个工具打一个try自动弹出来的就是exception,也不是很懂这个

  • 2548a 2023-03-10

    exception 只能捕获异常, error捕获错误,throwable是他们基类,可以捕获异常跟错误

Tinywan

推荐使用这个异常插件,解决你所有异常问题,不需要在每个代码处try catch 。https://www.workerman.net/plugin/16

  • 暂无评论
年代过于久远,无法发表回答
×
🔝