在不丢失类型信息的情况下捕获IronPython中的C#异常

时间:2017-04-25 09:52:40

标签: c# exception ironpython

从我的IronPython脚本中,我调用了各种C#方法,这可能会引发各种类型的异常。

使用此C#代码:

public class FooException : Exception {}
public class BarException : Exception {}

public class Test {
    public void foo() {
        throw new FooException("foo");
    }
    public void bar() {
        throw new BarException("bar");
    }
}

这个IronPython代码:

try:
    Test().foo()
except Exception as exc:
    print(repr(exc))

只打印Exception("foo")。如何确定例外是FooException还是BarException

1 个答案:

答案 0 :(得分:1)

我设法搞清楚了。 IronPython异常对象有一个.成员,其中包含原始的C#异常对象。

SUBNUMBERS(
  INTEGER ${properties:myproperty},
  INTEGER ${headers.num2},
  OUT INTEGER resultofsub
)