首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理LuaInterface中的语法错误

处理LuaInterface中的语法错误
EN

Stack Overflow用户
提问于 2012-11-30 05:37:22
回答 1查看 798关注 0票数 0

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

如果我执行语法正确的代码,它就会正常工作,但是一旦在脚本中引入语法错误(或任何其他错误),就会抛出SEHException,而不会抛出任何有关该错误的信息。

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

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

显然,这是一个从2011年开始开放的known bug

有没有什么变通的办法,没有这个bug的LuaInterface版本,或者有没有替代的lua包装器,可以正确地处理错误?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-30 08:01:46

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

代码语言:javascript
复制
try
{
    new LuaInterface.Lua().DoString("die");
}
catch (LuaException ex)
{
    Console.WriteLine(ex.Message);
}

您应该会得到以下错误:

代码语言:javascript
复制
[string "chunk"]:1: '=' expected near '<eof>'

你没有为你的单行显示任何上下文。它是否包装在try-catch块中?

如果是这样的话,也许是a bug

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13635199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档