gpt4 book ai didi

error-handling - 在纯 Lua 中发出错误信号的惯用方法是什么?

转载 作者:行者123 更新时间:2023-12-04 04:32:45 25 4
gpt4 key购买 nike

我正在努力构建一组通用库,以与 Lua 解释器的嵌入式实例一起使用(目标受众是特定产品的用户)。假设我无权更改 Lua 可执行文件的功能,并且只有基本的标准 Lua 库(数学、字符串、...,异常(exception)是没有 io)。

在纯 Lua 库中处理运行时错误的惯用方法是什么?

我考虑过返回 nil,但这并不表示出了什么问题,尤其是当错误发生在深层嵌套的某个地方时。我的下一个想法是返回两个值,nil 和一个错误代码或描述。我还考虑了一组类似于 Windows API 的 GetLastError(以及相应的 SetError)的全局函数。

你用什么?您如何看待各种方法的各种优点/缺点?我是否应该考虑一些更激进的事情,比如将所有内容包装在 pcall 中并故意索引 userdata 以导致错误?

最佳答案

无法恢复的错误应该中止执行。对于那些,调用 error。否则,返回 nilfalse 和一条错误消息是标准的 Lua 方式。

关于error-handling - 在纯 Lua 中发出错误信号的惯用方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8010193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com