Есть ли способ в 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? Как? А если нет, что будет эквивалентным Pythoni c?