lua 错误处理
语法错误
语法错误编译不能通过,通常是由程序使用不当引起
示例:nil与整数相加
Lua 5.4.4 Copyright (C) 1994-2022 Lua.org, PUC-Rio
> a==2
false
-- a由于未赋值,默认为nil,不能和数值相加
> a+1
stdin:1: attempt to perform arithmetic on a nil value (global 'a')
stack traceback:
stdin:1: in main chunk
[C]: in ?
示例:语法缺少关键词
Lua 5.4.4 Copyright (C) 1994-2022 Lua.org, PUC-Rio
> t={1,2,3,4,5,6}
-- 遍历表:关键词是in
> for key,value int pairs(t) print(key,value) end
stdin:1: 'in' expected near 'int'
-- 遍历表,缺少关键词do
> for key,value in pairs(t) print(key,value) end
stdin:1: 'do' expected near 'print'
-- 遍历表,正常输出
> for key,value in pairs(t) do print(key,value) end
1 1
2 2
3 3
4 4
5 5
6 6
运行错误
运行错误可通过编译,在运行时由于参数传递等原因报错
示例:函数参数不对导致运行报错
Lua 5.4.4 Copyright (C) 1994-2022 Lua.org, PUC-Rio
> function fun(a,b) print(a+b) end

最低0.47元/天 解锁文章
1272

被折叠的 条评论
为什么被折叠?



