我运行一个Python脚本,在其中声明一些变量并在发生某些事件时执行一些操作。此脚本是根据存储在数据库中的操作动态生成的,因此可能存在一些尚未定义的变量或语法错误,并且IronPython会抛出异常。例如:
Microsoft.Scripting.Hosting.ScriptEngine py = Python.CreateEngine();
Microsoft.Scripting.Hosting.ScriptScope scope = py.CreateScope();
for (int i = 0; i < gatilhos.Count; i++)
{
pyScript = "import clr\n";
pyScript += VlrCampos; // Python variable declarations.
pyScript += "result = " + gatilhos[i].Regra + "\n";
try
{
py.Execute(pyScript, scope);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
例如,某些时候gatilhos[i].Regra
将包含:
abc + a
abc 未在该范围内定义,因此抛出IronPython.Runtime.UnboundNameException
但执行中断并且不处理异常。
我在这里错过了什么吗?