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

你可能感兴趣的:(openresty,lua)