【发布时间】:2016-08-24 16:09:52
【问题描述】:
我正在尝试改进运行 Lua 脚本的程序中的错误处理。 简化版:
function _errH(msg)
print(msg .. "\n" .. debug.traceback(nil, 1))
end
function _main()
-- cause some random error
print(a-2)
end
function main()
xpcall(_main, errH)
end
main()
给我以下调用堆栈(请忽略错误的行号):
stack traceback:
[string ""]:7428: in function '__sub'
[string ""]:7651: in function <[string ""]:7432>
[C]: in function 'xpcall'
[string ""]:7658: in function 'main'
[string ""]:7928: in main chunk
现在我想知道为什么到处都是[string ""]。
有什么方法可以影响这些缺失的文本吗?除了定义函数之外,我还必须命名函数吗?
例如,为什么我看到in function '__sub' 而看不到in function '_main'?
【问题讨论】: