gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 12:28:47 25 4
gpt4 key购买 nike

在我的 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

最佳答案

我设法弄清楚了。IronPython 异常对象有一个 clsException 成员,它包含原始的 C# 异常对象。

try:
Test().foo()
except Exception as exc:
print(isinstance(exc.clsException, FooException))

关于c# - 在不丢失类型信息的情况下在 IronPython 中捕获 C# 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43607302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com