attempt to perform arithmetic on a | 尝试对非数值进行了数学运算 (+、-、*、/) | 数学运算之前,检查运算输入是否都为数字 |
attempt to compare | 尝试对非法值进行了比较运算 (>、<、>=、<=) | 比较运算之前,检查运算输入是否双方可以进行比较运算 |
attempt to concatenate a | 尝试对非字符串值进行了连接 (..) | 在进行字符串连接之前,先确定连接双方都为字符串 |
attempt to call a | 尝试调用了一个不是函数的变量 | 调用一个函数之前,先确定其是否为一个函数 |
attempt to index a | 尝试对一个非表变量进行索引 (下标运算) | 在从数组变量或关联数组变量中取值前,先确定其是否为一个表 |
attempt to yield across a C-call boundary | 尝试在不能让出的调用块中让出 | require 一个模块的时候,请确认被 require 的模块返回之前没有调用会让出的函数 (手册上函数前带叹号) 。还有就是不要尝试在带 C 回调的函数中使用会让出的函数 (手册上函数前带叹号) 。 |
invalid order function for sorting | 非法的排序函数,通常发生在排序函数的规则逻辑不够明确的情况下 | 调用排序函数时,明确排序规则,不要出现 a 大于 b 成立同时小于 b 也成立的规则 |
bad argument #1 to 'xxx' (number expected, got nil) | 调用 xxx 函数时,第 #1 个参数的类型不正确,需要 number 却传入了 nil | 参数错误,传入合适的参数就不会出错了 |
bad argument #2 to 'xxx' (number has no integer representation) | 调用 xxx 函数时,第 #2 个参数无法转换成整数 | 参数错误,传入合适的参数就不会出错了 |
bad argument #3 to 'xxx' | 调用 xxx 函数时,第 #3 个参数非法 | 参数错误,传入合适的参数就不会出错了 |