类型1,索引nil值
1、attempt to index a nil value (global 'a')
a.name = "haha"
2、attempt to index a nil value (field 'name')
a.name.first = "haha"
3、attempt to perform arithmetic on a nil value (global 'a')
a=nil
print(a+1)
类型2,数学计算,逻辑运算中有nil值
4、attempt to perform arithmetic on a nil value (global 'a')
a=nil
print(a+1)
5、attempt to perform bitwise operation on a nil value (global 'a')
a=nil
print(a & 1)
6、attempt to perform arithmetic on a nil value (field 'b')
a = {}
print(a.b &1)
类型3、调用nil值
7、attempt to call a nil value (global 'a')
a=nil
a()
8、attempt to call a nil value (field 'b')
a={}
a.f()
类型4、数学计算、位运算中使用非数字类型
9、attempt to perform arithmetic on a string value (global 'a')
a="str"
print(a+1)
10、attempt to perform arithmetic on a table value (global 'a')
a = {}
print(a+1)
11、attempt to perform arithmetic on a string value (field 's')
a = {s="str"}
print(a.s + 1)
12、attempt to perform arithmetic on a table value (field 's')
a = {s={}}
print(a.s + 1)
类型5、数量限制
1、stack overflow (函数调用栈超限 LUAI_MAXSTACK 1000000)
function a() b() end
function b() a() end
a()
2、upvalue数量限制
3、参数个数限制
4、局部变量个数限制
5、字符串拼接个数限制