У меня есть немного кода, который выполняет некоторую функциональную обработку исключений, и все работает хорошо, исключения вызываются, когда я хочу, чтобы они были, но когда я отлаживаю, трассировки строк не всегда делают то, что я хочу их к.
Пример A:
>>> 3/0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero
Пример Б:
>>> try: 3/0
... except Exception as e: raise e
...
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
ZeroDivisionError: integer division or modulo by zero
В обоих этих примерах исключение действительно возникает в строке 1, где мы пытаемся выполнить 3/0, но в последнем примере нам говорят, что это произошло в строке 2, где оно поднято.
Есть ли в Python способ вызвать исключение, как если бы это было еще одно исключение, которое могло бы выдать следующий вывод:
>>> try: 3/0
... except Exception as e: metaraise(e)
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero