pcall 是否应该捕获 PANIC 错误(ESP32 NodeMCU)?
Should pcall catch PANIC errors (ESP32 NodeMCU)?
我有这样的代码:
print("AAAAAA")
local status, jobj = pcall(json.decode(docTxt))
print("BBBBBB")
decode
方法导致 PANIC 错误,并导致以下控制台输出:
AAAAAAA
PANIC: unprotected error in call to Lua API (json.lua:166: 'for' initial value must be a number)
整个程序中断,BBBBB
没有打印到控制台。
这正常吗? pcall
坏了吗?
我弄明白了:它可以在固件编译器的看门狗选项中配置。现在我已经有了这样的设置,它会在紧急情况下重新启动。
我有这样的代码:
print("AAAAAA")
local status, jobj = pcall(json.decode(docTxt))
print("BBBBBB")
decode
方法导致 PANIC 错误,并导致以下控制台输出:
AAAAAAA
PANIC: unprotected error in call to Lua API (json.lua:166: 'for' initial value must be a number)
整个程序中断,BBBBB
没有打印到控制台。
这正常吗? pcall
坏了吗?
我弄明白了:它可以在固件编译器的看门狗选项中配置。现在我已经有了这样的设置,它会在紧急情况下重新启动。