Работа с исключениями

Перейдите к следующему слайду, нажав кнопку Вправо

Бросаем и ловим исключения
в коде Python

Подготовлено онлайн-курсом

https://dvmn.org

Сообщить об ошибке

class SalesFormatError(TypeError):
    pass


def aggregate(sales_log):
    if not isinstance(sales_log, list):
        raise SalesFormatError('Sales log should be list')

    ...

    if not isinstance(log_record, dict):
        raise SalesFormatError('Sales record should be dict')

    ...


sales_log = read_json('path/to/file')

try:
    result = aggregate(sales_log)
except SalesFormatError:
    exit("Data file format error. Check README.md")

Вводим особый тип исключений, похожих на стандартный TypeError

Из всех возможных ошибок выбираем только связанные с форматом входных данных sales_log

Создано для онлайн-курса https://dvmn.org