Правильно ли вызывать эту функцию в некоторых исключениях? Правильно ли этот процесс? Лучше ли обрабатывать все исключения?Правильно ли эта функция?
def close_all():
try:
ftp.close()
except:
pass
try:
tar.close()
except:
pass
try:
savelist.close()
except:
pass
try:
os.remove(tarname)
except:
pass
exit()
Заранее благодарен.
Почему ни один 'try', если вы собираетесь' pass' все исключения? –
@BlueMoon Поскольку, если кто-то выбрасывает, следующий код не будет выполнен. Я бы порекомендовал не захватывать все исключения. –
Голый 'except' [нахмурен] (http://blog.codekills.net/2011/09/29/the-evils-of--except--/) (по крайней мере *, используйте' except Exception'). Если вы используете Python 3.4, вы можете использовать ['contextlib.suppress'] (https://docs.python.org/3.4/library/contextlib.html#contextlib.suppress), чтобы сделать его более аккуратным. – jonrsharpe