运行报错的高频场景清单
按症状找病根
读报错信息讲了怎么读报错文字,这一页按「症状」反查——没有报错但不对劲的场景更多。
症状一:点了运行毫无反应
先确认顶栏文件标签停在哪个文件上——运行的是当前打开的文件,你可能正停在 layout.aly 或其他脚本上。切回 main.lua 再跑。
症状二:界面出来但一片空白
布局表渲染成功但没内容,两种常见原因:
- 容器是空的:layout.aly 里根本没塞子控件(对照加一个按钮补一个);
- 控件颜色跟背景同色:白底白字看得见个寂寞,给控件加 textColor 或背景色试试。
症状三:报「attempt to call a nil value」
九成是名字拼错:报错信息里提到的那个方法名,逐字母跟正确拼写对一遍(经典案例见读报错信息的 setContntView)。剩下的一成是函数定义在调用之后——Lua 顺序执行,先把函数写前面。
症状四:按钮点了没反应
三层检查,从外到内:
onClick属性写了没?属性名拼写对吗?- 指向的函数真定义了吗?函数名一字不差吗?
- 函数体里第一行加个
print("进来了")跑一次——打印出来了说明事件通、问题在函数内部;没打印说明挂接失败,回第 1 层。
症状五:加了网络请求后界面卡死
http.get 同步执行会冻住界面(网络请求提醒过),把请求挪进 task 里,见异步线程。
排查的万能套路
所有场景通用的三板斧:撤销回退到上一个能跑的版本(流程见运行与回退)→ 逐步重做每步一跑 → 拆到最小——把出问题的代码抄进独立工程,砍到只剩问题段落单独跑。三斧用完还没定位,把完整报错文字拿去搜索,社区里 Lua 报错的答案覆盖率很高。