А вы знали, что в Python есть группы исключений и возможность зайти в каждый except блок, а не только в первый?
Я об этом узнал совсем недавно. И до сих пор не видел, чтобы кто то такую конструкцию использовал.
`try: raise ExceptionGroup("eg", [ValueError(1), TypeError(2), OSError(3), OSError(4)]) except* TypeError as e: print(f'caught {type(e)} with nested {e.exceptions}') except* OSError as e: print(f'caught {type(e)} with nested {e.exceptions}')
#caught with nested (TypeError(2),) #caught with nested (OSError(3), OSError(4)) #+ Exception Group Traceback (most recent call last): #| File "", line 2, in #| ExceptionGroup: eg #+-+---------------- 1 ---------------- #| ValueError: 1 #+------------------------------------Представьте, каких ужасов можно наворотить с неограниченной вложенностью групп исключений. Но если использовать правильно - то весьма наглядно и удобно.