А вы знали, что в Python есть группы исключений и возможность зайти в каждый except блок, а не только в первый?
Я об этом узнал совсем недавно. И до сих пор не видел, чтобы кто то такую конструкцию использовал.
Представьте, каких ужасов можно наворотить с неограниченной вложенностью групп исключений. Но если использовать правильно - то весьма наглядно и удобно.
#python #python3_11
Я об этом узнал совсем недавно. И до сих пор не видел, чтобы кто то такую конструкцию использовал.
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 <class 'ExceptionGroup'> with nested (TypeError(2),)
# caught <class 'ExceptionGroup'> with nested (OSError(3), OSError(4))
# + Exception Group Traceback (most recent call last):
# | File "<stdin>", line 2, in <module>
# | ExceptionGroup: eg
# +-+---------------- 1 ----------------
# | ValueError: 1
# +------------------------------------
Представьте, каких ужасов можно наворотить с неограниченной вложенностью групп исключений. Но если использовать правильно - то весьма наглядно и удобно.
#python #python3_11
1🔥4😱4🤔2