0

LuaInterfaceを使用してLuaScriptingインターフェイスを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>'

ワンライナーのコンテキストは表示されません。トライキャッチブロックに包まれていますか?

もしそうなら、おそらくそれはバグですか?

于 2012-11-30T00:01:46.063 に答える