0

我正在尝试使用LuaInterface将 Lua 脚本接口集成到我的 C# 项目中。

如果我执行语法正确的代码,它会按预期工作,但是一旦将语法错误(或看起来的任何其他错误)引入脚本,SEHException就会抛出没有关于错误的任何信息。

触发行为的简单示例:new LuaInterface.Lua().DoString("die");

当然,这完全抵消了 Lua 的错误处理机制,对我来说是一个阻碍。

显然这是一个自 2011 年以来开放的已知错误。

是否有任何解决方法,没有此错误的 LuaInterface 版本,或者是否有替代的 lua 包装器可以正确处理错误?

4

1 回答 1

2

遇到的 Lua 错误(语法或运行时错误)DoString应该导致LuaException被抛出。它的消息将包含 Lua 生成的错误字符串。例如,给定您的示例:

try
{
    new LuaInterface.Lua().DoString("die");
}
catch (LuaException ex)
{
    Console.WriteLine(ex.Message);
}

您应该收到以下错误:

[string "chunk"]:1: '=' expected near '<eof>'

您没有为您的一个班轮显示任何上下文。它是否包含在 try-catch 块中?

如果是这样,也许这是一个错误

于 2012-11-30T00:01:46.063 回答