【发布时间】:2020-05-01 02:25:54
【问题描述】:
在 Python 中有没有一种方法可以引发由另一个错误引起的错误?
在 Java 中,您可以创建一个异常实例,原因如下代码所示
try {
throw new IOException();
} catch (IOException e) {
throw new RuntimeException("An exception occurred while trying to execute", e);
}
导致此错误消息:
Exception in thread "main" java.lang.RuntimeException: An exception occurred while trying to execute
at thing.Main.main(Main.java:11)
Caused by: java.io.IOException
at thing.Main.main(Main.java:9)
请注意,第一个异常(在堆栈跟踪中)是由第二个“引起”的。
在我看来,这是向 API 用户显示调用期间发生了更高级别错误的好方法,开发人员可以通过查看作为“原因”的低级别异常来调试它更高级别的错误(在这种情况下,RuntimeException 是由 IOException 引起的)。
通过我所做的搜索,我无法找到任何关于在 Python 中将错误作为另一个错误的原因。这可以在 Python 中实现吗?如何?如果不是,那么 Pythonic 的等价物是什么?
【问题讨论】: