Как указал Лотт, если загрузка не удалась, если проблема не устранена в апстриме (или с вашим адресом загрузки), лучшее, что вы можете сделать, это попробовать еще раз.Однако, если ситуация такова, что у вас есть список загрузок, и вы просто хотите пропустить неудачные загрузки вместо выхода, то:
logf = open("download.log", "w")
for download in download_list:
try:
# code to process download here
except Exception as e: # most generic exception you can catch
logf.write("Failed to download {0}: {1}\n".format(str(download), str(e)))
# optional: delete local version of failed download
finally:
# optional clean up code
pass
На заметку:
(1)Использование модуля "logging
", как предлагает ~ unutbu, дает вам гораздо большую гибкость и мощность при выводе журнала, включая отметку времени, одновременную запись в разные каналы (например, stderr, файл) в зависимости от уровней ошибок и т. Д.и т. д.
(2) Вы можете рассмотреть возможность реализации вышеуказанной логики с использованием конструкции "with
".