私はLuaスクリプトを実行するプログラムでエラー処理を改善しようとしています。 簡略化されたバージョン:[string ""]
はどこにでもあり、なぜLuaスタックトレースの関数名が見つからない
stack traceback:
[string ""]:7428: in function '__sub'
[string ""]:7651: in function <[string ""]:7432>
[C]: in function 'xpcall'
[string ""]:7658: in function 'main'
[string ""]:7928: in main chunk
は、今私は思ったんだけど:
function _errH(msg)
print(msg .. "\n" .. debug.traceback(nil, 1))
end
function _main()
-- cause some random error
print(a-2)
end
function main()
xpcall(_main, errH)
end
main()
は私に次のコールスタックを(間違った行番号を無視してください)与えます。
これらの不足しているテキストに影響を与える方法はありますか?関数の定義に加えて関数の名前を付ける必要がありますか? in function '__sub'
は表示されますが、in function '_main'
は表示されません。