2010-12-16 45 views
2

我有一个用IronPython编写的应用程序,它使用导入的.NET程序集中的类和方法(使用调试支持编译)。当汇编中的某个方法引发异常时,它会作为Exception(而不是System.Exception)在IronPython代码中捕获,并且追溯结束于最后的IronPython方法。Combine IronPython和CLI堆栈跟踪

我想要做的更深一层,并在最后一个IronPython方法之后追加原始CLI追踪以查看组件内发生异常的位置。

是否有可能从被捕获的IronPython equvivalent获取原始CLI异常或捕获它而不丢失IronPython的堆栈跟踪?

Thanx。

回答

1

您可以从scriptEngine.GetService()获取ExceptionOperations对象。然后您可以调用FormatException或GetStackFrames。您还可以将ExceptionDetail选项设置为true以从FormatException中获取更详细的堆栈跟踪。