错误处理 – 在Lua中获取“清除”错误消息
我在我的很多函数中使用了错误函数,并希望将错误消息传播给用户.但是,我显然不希望包含有关错误发生位置的信息;此信息应仅转到日志文件.
例如,我有一个管理服务器连接的类.如果连接超时,则调用 error("Connection timed out!") 然后,调用代码通过pcall捕获错误消息.但是,该消息不仅包含我传递的消息,还包含导致错误的文件名和行号: common/net/enetclient.lua:21: Connection timed out! 问题是:有没有办法只检索错误消息本身,或者我必须手动执行此操作,如下所示: local status,msg = pcall(someFunctionThatThrowsErrors) if not status then local file,msg = msg:match("(.-:%d+): (.+)") print("Error: " .. msg) end 干杯, 解决方法
从
error function的文档:
根据第二段中的说明,在错误调用中添加0级将产生所需的输出: error("Connection timed out!",0) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |