Уровень логирования: DEBUG, INFO, WARNING, ERROR, CRITICAL.
filename="app.log"
Имя файла для записи логов.
format="..."
Формат строки лога.
%(asctime)s
Время записи.
%(levelname)s
Уровень сообщения.
%(filename)s
Имя файла.
%(lineno)d
Номер строки.
%(message)s
Текст сообщения.
Частые паттерны
# 1. Запрос корректного ввода
while True:
try:
value = float(input("Введите число: "))
except ValueError:
print("Некорректное число, попробуйте снова.")
else:
break
# 2. Безопасное деление
def safe_divide(a: float, b: float) -> float:
try:
return a / b
except ZeroDivisionError:
raise ValueError("Делитель не может быть нулём")
# 3. Логирование ошибок
import logging
logging.basicConfig(filename="errors.log", level=logging.ERROR)
try:
risky_operation()
except Exception as e:
logging.error(f"Ошибка: {e}")
raise
# 4. Пользовательское исключение
class BusinessError(Exception):
"""Бизнес-ошибка."""
# 5. Отладочная проверка
assert len(items) > 0, "items не должен быть пустым"
⚠️ Проверить по документации: паттерны с повторным raise и пользовательскими исключениями выходят за рамки исходной лекции, но являются стандартной практикой Python.