Shield 中文文档 下载 App

运行报错的高频场景清单

按症状找病根

读报错信息讲了怎么读报错文字,这一页按「症状」反查——没有报错但不对劲的场景更多。

症状一:点了运行毫无反应

先确认顶栏文件标签停在哪个文件上——运行的是当前打开的文件,你可能正停在 layout.aly 或其他脚本上。切回 main.lua 再跑。

症状二:界面出来但一片空白

布局表渲染成功但没内容,两种常见原因:

症状三:报「attempt to call a nil value」

九成是名字拼错:报错信息里提到的那个方法名,逐字母跟正确拼写对一遍(经典案例见读报错信息的 setContntView)。剩下的一成是函数定义在调用之后——Lua 顺序执行,先把函数写前面。

症状四:按钮点了没反应

三层检查,从外到内:

  1. onClick 属性写了没?属性名拼写对吗?
  2. 指向的函数真定义了吗?函数名一字不差吗?
  3. 函数体里第一行加个 print("进来了") 跑一次——打印出来了说明事件通、问题在函数内部;没打印说明挂接失败,回第 1 层。

症状五:加了网络请求后界面卡死

http.get 同步执行会冻住界面(网络请求提醒过),把请求挪进 task 里,见异步线程。

排查的万能套路

所有场景通用的三板斧:撤销回退到上一个能跑的版本(流程见运行与回退)→ 逐步重做每步一跑 → 拆到最小——把出问题的代码抄进独立工程,砍到只剩问题段落单独跑。三斧用完还没定位,把完整报错文字拿去搜索,社区里 Lua 报错的答案覆盖率很高。