我有一个用IronPython编写的应用程序,它使用导入的.NET程序集中的类和方法(使用调试支持编译)。当程序集中的方法抛出异常时,它会被IronPython代码捕获为Exception(而不是System.Exception),并且回溯在最后一个IronPython方法结束。
我想要做的是深入并在最后一个IronPython方法之后附加原始的CLI回溯,以查看程序集内部发生异常的位置。
是否有可能从捕获的IronPython中获取原始的CLI异常,或者在不丢失IronPython的堆栈跟踪的情况下捕获它?
感谢名单。
答案 0 :(得分:1)
您可以从scriptEngine.GetService()获取ExceptionOperations对象。然后,您可以调用FormatException或GetStackFrames。您还可以将ExceptionDetail选项设置为true,以从FormatException获取更详细的堆栈跟踪。