Исключения в Python и немного о try-except и raise
Поговорим о том, что такое исключения, как и когда их бросать, как и когда перехватывать, как писать свои исключения. Немного затронем правила написания своих функций.
Из важного:
1) исключения это нормальный и важный механизм в питоне, не нужно стесняться его использовать, бросать и перехватывать исключения, писать свои типы исключений. К сожалению, по ряду причин не редко вижу, что программисты не кидают исключений в своих функциях
2) когда пишем функции, то стараемся думать не в позитивном ключе, а в плане того, что может пойти не так. В таких случаях бросаем исключения, делаем это как можно раньше (в начале функции)
3) Механизм по-умолчанию в питоне просто выведет текст исключения и завершит работу программы, если нам нужно другое поведение то используем try/except/finally
4) блоков except может быть несколько, каждый со своим типом исключения и логикой, но важно чтобы исключение было конкретным, и в блоке всегда делаем хоть что-то. НЕ проглатываем исключения!
5) finally выполняется в любом случае, даже если исключения не упало, НО важно понимать, что файналли это не какой то волшебный блок, исключение может упасть и там, нужно обдумывать логику этого блока (например не использовать переменные, которые могли не быть созданы)
6) raise используем чтобы бросить исключение самостоятельно, при этом можно указать какое конкретно исключение бросить. Если не указать то будет брошено последнее упавшее исключение (важно чтобы оно было!)
7) не стесняемся писать свои классы исключений, главное давать им понятные имена и прописываем в доке случаи, когда они могут быть выброшены
В общем не боимся и не стесняемся работать с исключениями!
Читать:
https://docs.python.org/3/reference/executionmodel.html?highlight=exception#exceptions
https://docs.python.org/3/reference/compound_stmts.html#the-try-statement
https://docs.python.org/3/reference/simple_stmts.html#the-raise-statement
https://docs.python.org/3/library/exceptions.html
https://docs.python.org/3/tutorial/errors.html
Присоединяйтесь к помощи каналу, будет интересно)
✔️Бусти https://boosty.to/python_russian/donate
✔️Юмани 410011506612886
Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
Смотри там где удобно🤩
✔️ https://vk.com/python_russian
✔️ https://boosty.to/python_russian
✔️ https://www.youtube.com/c/PythonRussian
✔️ https://t.me/python_russian
✔️ https://dzen.ru/python_russian
✔️ https://rutube.ru/channel/24346352/
#Python #PythonRussian #PyCharm #try-except #exception #try #raise
Видео Исключения в Python и немного о try-except и raise автора Python Russian
Видео Исключения в Python и немного о try-except и raise автора Python Russian
Показать
Похожие видео
Как правильно начать писать свой проектТусовка выходного дняЧто за звери args и kwargsЛогирование, оставь print позадиПростая работа с импортами для новичков. Что такое относительный и абсолютный импортБери его тепленьким!Обзор проекта в MicroStudio. — „3D Platformer”Консоль Python и с чем её едятМОЗИиИБ. Защита ЛР№1Проект этап 1 - защитаМы давно смоделировалиОписание работы реле таймер на NE555 с алгоритмом работы включение - выдержка-переключение.НОВАЯ ПРОГРАММА ДЛЯ ПРОГНОЗОВ НА СПОРТ #программаReact - 240 - Optimization and useEffect - The Profiler Developer ToolКомбинации клавиш и советы по работе в PyCharmКак установить библиотеку в PyCharm. Что делать при Module Not Found ErrorReact - 239 - Optimization and useEffect - Performance Optimization and Wasted RendersReact - 241 - Optimization and useEffect - A Surprising Optimization Trick With childrenEnum перечиcления в Python7.11 Найти среднее арифметическое положительных элементов списка