常見lua報錯型別
阿新 • • 發佈:2018-11-07
型別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、字串拼接個數限制