Уведомления

Группа в Telegram: @pythonsu

#1 Март 13, 2012 08:39:09

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

почему не понимает конструкцию python?

py.user.next
FishHook
try:
os.mkdir(p1)
except:
print 'Не удается создать каталог'
например, в функции os.mkdir() произошло деление на ноль
твоя программа пишет “не могу создать каталог”

http://docs.python.org/py3k/library/exceptions.html
Да я прекрасно понимаю, о чем идет речь.
Но давайте не будем чересчур принципиальными.
В блоке try я пытаюсь создать каталог с помощью функции из стандартной библиотеки. Больше там ничего нет. Нету самописного кода, который мог бы вызвать исключение. Если для моей программы достаточно сообщения “не могу создать каталог”, не зависимо от причин (каталог существует, нет прав на запись, недопустимые символы в названии и прочее), то я не вижу смысла отлавливать исключения “персонифицированно”



Офлайн

#2 Март 13, 2012 10:39:38

cutwater
От:
Зарегистрирован: 2009-01-08
Сообщения: 444
Репутация: +  19  -
Профиль   Отправить e-mail  

почему не понимает конструкцию python?

FishHook
В блоке try я пытаюсь создать каталог с помощью функции из стандартной библиотеки. Больше там ничего нет. Нету самописного кода, который мог бы вызвать исключение. Если для моей программы достаточно сообщения “не могу создать каталог”, не зависимо от причин (каталог существует, нет прав на запись, недопустимые символы в названии и прочее), то я не вижу смысла отлавливать исключения “персонифицированно”
Однако в дальнейшем этот вызов может быть заменен не тобой а другими членами твоей команды на некий уже пользовательский код, добавляющий дополнительную логику. И через еще некоторое время в нем произойдет ошибка. На локализацию такой ошибки уйдет времени больше чем если бы ты изначально указал явно тип исключения. Гиппотетически такая ситуация возможна. Практически с подобными ситуациями на проекте где больше двух разработчиков и много кода сталкиваемся периодически.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version