错误处理
wiki
此页面包含有关 Lua 错误处理(包括异常处理)的链接和讨论。
《Programming in Lua》和《Beginning Lua Programming》(参见
LuaBooks
)包含有关错误处理的部分。
Lua 参考手册 5.1
背景讨论:
[2.7. 错误处理(在 Lua 中)]
,
[3.6. C 中的错误处理]
引发错误:
[error]
,
[lua_error]
(带有错误对象的 C 版本),
[luaL_error]
(带有 printf 风格格式字符串的 C 版本)
有条件地引发错误:
[assert]
- 另见:
[此函数的命名]
捕获函数调用中的错误:
[pcall]
,
[xpcall]
(带有错误处理函数)
捕获未捕获的错误:
[lua_atpanic]
获取堆栈跟踪:
[debug.traceback]
,
[luaL_traceback]
(C 版本,5.2-alpha)
在 C 中对错误参数引发错误:
[luaL_argerror]
和 luaL_check* 函数,
[luaL_typerror]
(luaL_typerror 在
LuaFiveTwo
中已弃用)
[Lua 中的异常模式,Lua Workshop 2006]
由
JohnBelmonte
撰写
《Lua Programming Gems》中“第 13 章:Lua 中的异常”(参见
LuaBooks
)由
JohnBelmonte
撰写,指出了语言中的局限性,实现了一个简单的 try/catch 函数,描述了使用(非字符串)错误对象的问题,并实现了一个 D 风格的范围管理器(try/catch 的替代方案)。
FinalizedExceptions
- 讨论了使用 protect 和 newtry 函数的异常方案
CatchingLuaExceptions
- 一组便于在 C 和 C++ 中进行 lua 异常处理的补丁
LuaAndExceptionsHackingNotes
ErrorHandlingBetweenLuaAndCplusplus
- 将 Lua 与 C++ 而不是 C 混合使用时的错误
LuaCarp
- 在 Lua 中实现的 Perl Carp(透明地处理错误级别)
资源获取即初始化
- 在作用域退出时自动释放获取的资源,RAII
可恢复 VM 修补程序
- 支持跨越 pcall 的 yield(另请参见
功能建议
)
最近更改
·
偏好设置
编辑
·
历史记录
最后编辑于 2015 年 5 月 14 日下午 12:51 GMT
(差异)