有没有一种方法可以从C#WPF应用程序调用IronPython脚本并捕获/捕获发生在分离线程上的异常?

时间:2019-01-25 16:42:13

标签: c# ironpython

我有一个应用程序,允许用户执行嵌入到应用程序中的任意IronPython脚本,类似于Turtle示例(http://www.voidspace.org.uk/ironpython/scripted_turtle.shtml)。脚本引擎在try catch块内执行,并处理异常,除非脚本从一个新线程开始,或者做其他事情,如加载松散的XAML文件并在XAML按钮后面实现处理程序,等等。此类“异常”中的异常IronPython脚本中的代码不会被上述C#try catch所处理,并关闭我的应用程序。我想避免这种情况。是否可以使用沙箱IronPython执行引擎,或使用某些通用C#异常处理技术来处理这种情况?在我的情况下,将try除了try放入python脚本本身不是一个选择。到目前为止,我从相关的SO问题WPF global exception handler尝试了方法1(AppDomain.CurrentDomain.UnhandledException)和方法3(Application.Current.DispatcherUnhandledException),但没有成功(发生异常时不会调用处理程序)。

0 个答案:

没有答案