Как устроена обработка исключений в Python?

Junior
424 просмотров
AFK Offer AI

Исключения — объекты, наследующиеся от BaseException. Обычно ловишь Exception и его подклассы. try/except/else/finally: except ловит конкретные исключения, else выполняется если исключений не было, finally — всегда. Можно ловить несколько: except (ValueError, TypeError). В Python 3.11+ появился ExceptionGroup и except*. Голый except: без типа — антипаттерн, ловит всё включая SystemExit и KeyboardInterrupt. Всегда ловите конкретные типы.

Следующий вопрос

Как работают async/await?