⚠️ TRY-EXCEPT. Повторяем ошибки и исключения
Привет, друзья! Сегодня мы начнем разговор об ошибках и исключениях в языке python, повторим важные базовые вещи из этой темы. Не буду утверждать, что об этом обязательно спросят на собеседовании, однако знать тему нужно, так как писать и читать код вам придется.
✅ Очень часто при выполнении программы могут возникать ошибки, из-за которых не смысла останавливать работу всей программы. В таком случае достаточно поймать эту ошибку, обработать и предупредить о ней пользователя. Здесь полезно вспомнить про конструкцию try exсept.
📍 В теле try мы указываем тот код, в котором (как нам кажется) возникнет ошибка. Далее мы используем except и указываем тип возможной ошибки, которая может возникнуть в процессе исполнения тела try. В теле except указываем, что делать или как обработать кейс, если ошибка все же возникла.
Листай картинки с примером кода 👉
⚠️ Давайте вспомним некоторые моменты, которые важно знать при использовании конструкции try exсept.
📍 Если внутри блока try произошло исключение, которое мы не словили блоком except, то использование конструкции не спасет ситуацию и программа упадет полностью.
📍Что делать в таком случае? Попробовать написать еще один except блок, включить в него обработку того исключения, которое не было обработано в первый раз. Тогда исключение будет обработано одним из except блоков, а остальные блоки просто не будут исполняться. Согласитесь, конструкция в этом случае получается очень громоздкой.
📍 Удобнее было бы ловить одним except блоком сразу несколько типов исключений. Для этого следует передать в except кортеж, содержащий типы этих исключений.
📍 Еще не стоит забывать, что при использовании данной конструкции мы можем поймать сам объект ошибки. Для этого указываем после типа ошибки, который мы ловим, as и имя объекта, который мы бы хотели поймать. Таким образом внутри except блока будет определено имя, в котором будет содержаться объект ошибки. Полезно посмотреть на тип ошибки, также у ошибки есть атрибут args.
📍 А если мы не знаем какие типы ошибок могут возникнуть во время выполнения программы? Тогда после except не нужно указывать конкретный тип ошибок. Таким образом, если ошибка произойдет, то мы получим сообщение об этом, однако не будет знать какая именно ошибка была обнаружена.
Привет, друзья! Сегодня мы начнем разговор об ошибках и исключениях в языке python, повторим важные базовые вещи из этой темы. Не буду утверждать, что об этом обязательно спросят на собеседовании, однако знать тему нужно, так как писать и читать код вам придется.
✅ Очень часто при выполнении программы могут возникать ошибки, из-за которых не смысла останавливать работу всей программы. В таком случае достаточно поймать эту ошибку, обработать и предупредить о ней пользователя. Здесь полезно вспомнить про конструкцию try exсept.
📍 В теле try мы указываем тот код, в котором (как нам кажется) возникнет ошибка. Далее мы используем except и указываем тип возможной ошибки, которая может возникнуть в процессе исполнения тела try. В теле except указываем, что делать или как обработать кейс, если ошибка все же возникла.
Листай картинки с примером кода 👉
⚠️ Давайте вспомним некоторые моменты, которые важно знать при использовании конструкции try exсept.
📍 Если внутри блока try произошло исключение, которое мы не словили блоком except, то использование конструкции не спасет ситуацию и программа упадет полностью.
📍Что делать в таком случае? Попробовать написать еще один except блок, включить в него обработку того исключения, которое не было обработано в первый раз. Тогда исключение будет обработано одним из except блоков, а остальные блоки просто не будут исполняться. Согласитесь, конструкция в этом случае получается очень громоздкой.
📍 Удобнее было бы ловить одним except блоком сразу несколько типов исключений. Для этого следует передать в except кортеж, содержащий типы этих исключений.
📍 Еще не стоит забывать, что при использовании данной конструкции мы можем поймать сам объект ошибки. Для этого указываем после типа ошибки, который мы ловим, as и имя объекта, который мы бы хотели поймать. Таким образом внутри except блока будет определено имя, в котором будет содержаться объект ошибки. Полезно посмотреть на тип ошибки, также у ошибки есть атрибут args.
📍 А если мы не знаем какие типы ошибок могут возникнуть во время выполнения программы? Тогда после except не нужно указывать конкретный тип ошибок. Таким образом, если ошибка произойдет, то мы получим сообщение об этом, однако не будет знать какая именно ошибка была обнаружена.