捕获IronPython WPF脚本中的异常

时间:2016-09-14 09:11:47

标签: ironpython

我正在开发一种工具,允许用户通过在工具中创建和执行Python脚本来扩展它。 Python脚本由IronPython执行,这些脚本可以具有基于WPF的用户界面。问题是当在IronPython中抛出异常时,例如由于在按下按钮时执行了一段代码,整个工具崩溃,因为异常一直传播回应用程序的开头而不是抓住。有没有办法为IronPython或Microsoft脚本引擎配备一个在抛出异常时调用的错误处理程序?

抛出异常时,这是一段callstack。

StackTrace:
at IronPython.Runtime.Operations.PythonOps.GetVariable(CodeContext context, String name, Boolean isGlobal, Boolean lightThrow)
at IronPython.Compiler.LookupGlobalInstruction.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.LightLambda.Run4[T0,T1,T2,T3,TRet](T0 arg0, T1 arg1, T2 arg2, T3 arg3)
at CallSite.Target(Closure , CallSite , Object , Object , RoutedEventArgs )
at _Scripting_(Object[] , Object , RoutedEventArgs )
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()

干杯!

0 个答案:

没有答案