📦 Репозиторий занятия 48

Урок 48. Исключения: обработка ошибок

Как работать с репозиторием

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

Маршрут изучения

  1. Предскажите: прочитайте роль файла и сформулируйте ожидаемый результат.
  2. Исследуйте: откройте исходник и найдите перечисленные ключевые понятия.
  3. Измените: поменяйте одно условие или значение и объясните новый результат.
  4. Проверьте: ответьте на вопрос карточки без копирования кода.

Файлы: рекомендуемый порядок

1
PythonИсполняемый пример

less_25__exceptions__logging/theory_01_logging/a_simplest_logger/simplest_logger.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Разделы: Настройка базового логгера

Ключевые понятия: ветвление, импорт модулей
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
2
PythonКонфигурация

less_25__exceptions__logging/theory_01_logging/root_logging/log_config.py

Определите, какие значения зависят от окружения и какие из них нельзя хранить в открытом коде.

Разделы: Создаём два хендлера; console_handler = logging.StreamHandler() # Можно и без параметров; Настраиваем формат

Ключевые понятия: ветвление, импорт модулей
Проверьте себя: Какие значения нужно передавать через переменные окружения?
Открыть полный файл →
3
PythonИсполняемый пример

less_25__exceptions__logging/theory_01_logging/root_logging/module_a.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Объём: 5 строк. Читайте сверху вниз и отмечайте изменения состояния данных.

Ключевые понятия: импорт модулей
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
4
MarkdownРазбор концепции

less_25__exceptions__logging/theory_01_logging/root_logging/theory__root_logging.md

Сначала выделите правило и объясните своими словами, затем проверьте каждый пример.

Разделы: Базовый root (корневой) логгер; Пример; Создаём два хендлера

Ключевые понятия: импорт модулей
Проверьте себя: Какое правило из файла вы сможете применить без подсказки?
Открыть полный файл →
5
PythonИсполняемый пример

less_25__exceptions__logging/theory_01_logging/special_loggers/database.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Объём: 5 строк. Читайте сверху вниз и отмечайте изменения состояния данных.

Ключевые понятия: импорт модулей
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
6
PythonКонфигурация

less_25__exceptions__logging/theory_01_logging/special_loggers/log_config.py

Определите, какие значения зависят от окружения и какие из них нельзя хранить в открытом коде.

Разделы: --- Общий формат ---; --- Конфиг для основного приложения ("app") ---; console_handler = logging.StreamHandler() # Можно и без параметров

Ключевые понятия: ветвление, импорт модулей
Проверьте себя: Какие значения нужно передавать через переменные окружения?
Открыть полный файл →
7
PythonИсполняемый пример

less_25__exceptions__logging/theory_01_logging/special_loggers/main.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Объём: 5 строк. Читайте сверху вниз и отмечайте изменения состояния данных.

Ключевые понятия: импорт модулей
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
8
PythonИсполняемый пример

less_25__exceptions__logging/theory_01_logging/special_loggers/network.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Объём: 5 строк. Читайте сверху вниз и отмечайте изменения состояния данных.

Ключевые понятия: импорт модулей
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
9
MarkdownРазбор концепции

less_25__exceptions__logging/theory_01_logging/special_loggers/theory__special_loggers.md

Сначала выделите правило и объясните своими словами, затем проверьте каждый пример.

Разделы: Пример: несколько конфигураторов для разных частей приложения; `log_config.py`; --- Общий формат ---

Ключевые понятия: ветвление, импорт модулей
Проверьте себя: Какое правило из файла вы сможете применить без подсказки?
Открыть полный файл →
10
PythonИсполняемый пример

less_25__exceptions__logging/theory_02_try_except_finally.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Объём: 97 строк. Читайте сверху вниз и отмечайте изменения состояния данных.

Ключевые понятия: обработка ошибок
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
11
PythonИсполняемый пример

less_25__exceptions__logging/theory_03_try_except_else_finally.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Объём: 15 строк. Читайте сверху вниз и отмечайте изменения состояния данных.

Ключевые понятия: обработка ошибок
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
12
PythonИсполняемый пример

less_25__exceptions__logging/theory_04__raise.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Объём: 15 строк. Читайте сверху вниз и отмечайте изменения состояния данных.

Ключевые понятия: ветвление, обработка ошибок
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →