openresty lua xpcall 错误处理函数循环被执行
openresty lua xpcall 异常处理函数循环被执行
-- require local result = require "utils.result" local _M = { _VERSION = '0.01', err_code = "E_0001"} --[[ -- 定制日志输出, xpcall错误处理函数 -- 函数中不能使用ngx.exit等操作 -- @param _errmsg 异常信息 --]] function _M.write_error(_errmsg) _M.track_text = debug.traceback(tostring(_errmsg), 6) ngx.log(ngx.ERR, _M.track_text) end -- equal try catch function _M:trycall(_func) xpcall(_func, self.write_error) return result:error(_M.err_code, _M.track_text) end return _M