首页 > 如何解决 Lua 中 string.format 参数不正确抛出异常问题

如何解决 Lua 中 string.format 参数不正确抛出异常问题

如题,用 string.format 打印 log 的时候经常会由于

function gao(sz, ...)
   print(string.format(sz, ...))
end
local a
gao("%d get %d", a)

参数列表少写或者传入值为 nil 而导致程序崩溃。不知道各位有什么好的解决方法?


避免的另外一个办法就是别用string.format
考虑使用连接符或者table.concat


根据前后环境,可以有不同的方式规避。

如果不管前后语境,通用做法可以使用pcall,避免系统崩溃
local r,r1,r2=pcall(string.format,sz,...)
if r then
print(r)
else
print('error',r1,r2)
end

【热门文章】
【热门文章】