У меня есть немного кода, который выполняет некоторую функциональную обработку исключений, и все работает хорошо, исключения возникают, когда я хочу, чтобы они были, но когда я отлаживаю, трассировки строк не всегда делают то, что я хочу их к.
Пример A:
>>> 3/0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero
Пример B:
>>> 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