异常捕获和记录

想问下关于异常捕获的问题。我在守护进程下运行。try 了回调方法,但是发现回调里报了致命的错误但是没有捕获,我在stdoutFile 设置的文件里也没有看到错误。比如缺少扩展之类的。进程直接退出了。没有到catch 里那这类的错误要怎么捕获。
示例代码如下
try{
    $ret = call_user_func_array(array(SERVICE_DIR."\\".$class, $method), $param_array);//回调里有报错但是没有catch住也就没有上报到日志系统里
}
catch (Exception $e) {
    // 发送数据给客户端,发生异常,调用失败
    $code = $e->getCode() ? $e->getCode() : 500;
    StatisticClient::report($class, $method, $success, $code, $e, $statistic_address);
    return $connection->send(array('code' => $code, 'msg' => $e->getMessage(), 'data' => $e));
}
2018-02-01 11:46 添加评论 分享
已邀请:
0

maq

赞同来自:

回调里的代码能贴出来么?
0

maq

赞同来自:

PHP 里并不是所有的错误都可以 try-catch,只有 throw 的才可以,所以你的程序要主动检查不符合预期的情形并 throw Exception。如果不是程序逻辑能检查出来的情形,那恐怕就要用 set_error_handler() 这种方法了。

要回复问题请先登录注册

退出全屏模式 全屏模式 回复