try:
print(1)
assert 2 + 2 == 5
except AssertionError:
print(3)
except:
print(4)
В этом коде после обработки этой ошибки подтверждения с помощью except AssertionError:
except: print(4)
не работает.
Но если я создам ошибку после AssertionError, например:
try:
print(1)
assert 2 + 2 == 5
except AssertionError:
print(3)
print(2/0)
except:
print(4)
выдает такую ошибку:
Traceback (most recent call last):
File "<pyshell#14>", line 3, in <module>
assert 2 + 2 == 5
AssertionError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<pyshell#14>", line 6, in <module>
print(2/0)
ZeroDivisionError: division by zero
Но почему? Предполагается, что кроме этой ошибки тоже. Потому что эта ошибка происходит внутри блока try, кроме.