Глава 10 • Файлы и исключения
Пользователи получают данные о количестве слов во всех существующих файлах,
однако ничто не сообщает о том, что какой-то файл не был найден:
The file alice.txt has about 29465 words.
The file moby_dick.txt has about 215830 words.
The file little_women.txt has about 189079 words.
Команда
pass
также может служить временным заполнителем. Она напоминает,
что в этот конкретный момент выполнения вашей программы вы решили ничего
не предпринимать, хотя, возможно, решите сделать что-то позднее. Например,
эта программа может записать все имена отсутствующих файлов в файл с именем
missing_files .txt
. Пользователи этот файл не увидят, но создатель программы сможет
прочитать его и разобраться с отсутствующими текстами.
О каких ошибках нужно сообщать?
Как определить, в каком случае следует сообщить об ошибке пользователю, а когда
можно просто проигнорировать ее незаметно для пользователя? Если пользователь
знает, с какими текстами должна работать программа, вероятно, он предпочтет по-
лучить сообщение, объясняющее, почему некоторые тексты были пропущены при
анализе. Пользователь ожидает увидеть какие-то результаты, но не знает, какие
книги должны быть проанализированы. Возможно, ему и не нужно знать о недо-
ступности каких-то файлов. Лишняя информация только сделает вашу программу
менее удобной для пользователя. Средства обработки ошибок Python позволяют
достаточно точно управлять тем, какой объем информации следует предоставить
пользователю.
Хорошо написанный, правильно протестированный код редко содержит внутрен-
ние ошибки (например, синтаксические или логические). Но в любой ситуации,
в которой ваша программа зависит от внешних факторов (пользовательского вво-
да, существования файла, доступности сетевого подключения), существует риск
возникновения исключения. С накоплением практического опыта вы начнете ви-
деть, в каких местах программы следует разместить блоки обработки исключений
и сколько информации предоставлять пользователям о возникающих ошибках.