国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

異常捕獲和記錄

codeninjia

想問下關(guān)于異常捕獲的問題。我在守護進程下運行。try 了回調(diào)方法,但是發(fā)現(xiàn)回調(diào)里報了致命的錯誤但是沒有捕獲,我在stdoutFile 設(shè)置的文件里也沒有看到錯誤。比如缺少擴展之類的。進程直接退出了。沒有到catch 里那這類的錯誤要怎么捕獲。
示例代碼如下

try{
        $ret = call_user_func_array(array(SERVICE_DIR."\\".$class, $method), $param_array);//回調(diào)里有報錯但是沒有catch住也就沒有上報到日志系統(tǒng)里
  }
  catch (Exception $e) {
        // 發(fā)送數(shù)據(jù)給客戶端,發(fā)生異常,調(diào)用失敗
        $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));
    }
4971 3 0
3個回答

maq

回調(diào)里的代碼能貼出來么?

  • 暫無評論
maq

PHP 里并不是所有的錯誤都可以 try-catch,只有 throw 的才可以,所以你的程序要主動檢查不符合預(yù)期的情形并 throw Exception。如果不是程序邏輯能檢查出來的情形,那恐怕就要用 set_error_handler() 這種方法了。

  • codeninjia 2018-02-01

    wokerman本身我看注冊了 register_shutdown_function(array("\Workerman\Worker", 'checkErrors'));
    這個方法。我在想是不是可以在這個方便里直接上報錯誤。

  • codeninjia 2018-02-01

    搜了下別人的回答。wokerman不支持set_exception_handler 這種方式?;卣{(diào)錯誤。但是你說的set_error_handler 這個支不支持。還要驗證一下。

tastyz

使用\Error可以接著報錯
try{

}catch (\Error $e){

}

  • 暫無評論
年代過于久遠,無法發(fā)表回答
??