Форум программистов, компьютерный форум, киберфорум
Welemir1
Войти
Регистрация
Восстановить пароль
Рейтинг: 5.00. Голосов: 1.

Python для начинающих. Исключения

Запись от Welemir1 размещена 04.05.2021 в 12:39

Поговорим о том, что такое исключения, как и когда их бросать, как и когда перехватывать, как писать свои исключения. Немного затронем правила написания своих функций.

Из важного:
1) исключения это нормальный и важный механизм в питоне, не нужно стесняться его использовать, бросать и перехватывать исключения, писать свои типы исключений. К сожалению, по ряду причин не редко вижу, что программисты не кидают исключений в своих функциях
2) когда пишем функции, то стараемся думать не в позитивном ключе, а в плане того, что может пойти не так. В таких случаях бросаем исключения, делаем это как можно раньше (в начале функции)
3) Механизм по-умолчанию в питоне просто выведет текст исключения и завершит работу программы, если нам нужно другое поведение то используем try/except/finally
4) блоков except может быть несколько, каждый со своим типом исключения и логикой, но важно чтобы исключение было конкретным, и в блоке всегда делаем хоть что-то. НЕ проглатываем исключения!
5) finally выполняется в любом случае, даже если исключения не упало, НО важно понимать, что файналли это не какой то волшебный блок, исключение может упасть и там, нужно обдумывать логику этого блока (например не использовать переменные, которые могли не быть созданы)
6) raise используем чтобы бросить исключение самостоятельно, при этом можно указать какое конкретно исключение бросить. Если не указать то будет брошено последнее упавшее исключение (важно чтобы оно было!)
7) не стесняемся писать свои классы исключений, главное давать им понятные имена и прописываем в доке случаи, когда они могут быть выброшены

В общем не боимся и не стесняемся работать с исключениями!




Читать:
https://docs.python.org/3/refe... exceptions

https://docs.python.org/3/refe... -statement

https://docs.python.org/3/refe... -statement

https://docs.python.org/3/library/exceptions.html

https://docs.python.org/3/tutorial/errors.html
Размещено в Без категории
Показов 333 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.