@sergey4kin

Как красиво обработывать ошибки для пользователя, в процессе выполнения скрипта Python?

Извиняюсь заранее за тупой вопрос, и в гугле не забанили, но возможно я не совсем правильно понимаю "название проблемы", поэтому ничего и не нахожу. Короче...

Есть большой и сложный скрипт на питоне, который до выдачи результата, делает много всего самого разного разнообразного (чтение\запись в файлы\БД, запросы к API, скачивание\закачивание файлов на FTP и прочие манипуляции). Скрипт писал я сам, параллельно изучая питон, для одной рабочей рутинной задачки, и все даже получилось. По ходу выполнения скрипт может "сломаться" во множествах местах (на входе файл не того формата, в файле невалидные данные, нет интернета, не удалось скачать \ закачать файл и т.д). Пока я работал со скриптом один, это не вызывало никаких проблем, ведь я сам все писал, и все ошибки знаю и почему они возникают и что делать. Теперь понадобилось поделится скриптом с коллегами.

Собственно вопрос. Пока писал свой скрипт, вообще не копал в сторону обработки ошибок\логирования. То есть как сделать так, чтобы скрипт не просто крашился и выдавал аброкадабру (с точки зрения того кто не шарит), а писал что то разумное и понятное. Может быть есть какие-то мануалы\статьи\книги хорошие на эту тему?
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 2
Mike_Ro
@Mike_Ro
React, Django, WordPress, SEO, Bots, Adversting
1. Исключения try except.
2. Логирование.
3. Если нет возможности подробно описывать ошибки в самом скрипте, то пишите коды ошибок, а на стороннем ресурсе (едином для всех) описывайте, что означают эти коды.

Т.к. в реальном мире все возможные варианты не предусмотреть, то предлагаю использовать 3 вариант + предложение отправить ошибку в поддержку за вознаграждение, в итоге поимеем:
- Относительно недорого тестера.
- Относительно довольного пользователя (получил какой то бонус + ткнул носом целого разраба).
Ответ написан
Комментировать
Griboks
@Griboks
Как красиво обработывать ошибки для пользователя, в процессе выполнения скрипта Python?

Никак, пользователь не должен получать ошибок от программы. Любое исключение - это баг, т. е. непредвиденное стечение обстоятельств, т.е. программист не доработал программу/совершил ошибку либо пользователь не дочитал инструкцию.

Единственный допустимый случай - валидация ввода пользователя. Ваша программа проверяет, например введённое число, и, если оно отрицательное, выводит сообщение об этом и либо завершается, либо запрашивает повторный ввод.

Особый случай - Ctrl+C, называется KeyboardInterrupt.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы