[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с исключениями
tony733
Доброго времени суток!
Форумчане, хочу услышать ваши мнения о том, где уместно а где нет применять исключения.

На тему, собственно, натолкнуло прочтение вот этой статьи http://habrahabr.ru/blogs/php/30399/

Итак, вопросы на повестку дня начинающего php-шника.

1. Уместно ли строить на исключениях логику приложения? Пример - как в статье на хабре обработка данных формы авторизации. Вообще говоря, выглядит, вроде, красиво. Но многие писали в комментах, что это неправильно.
2. Вообще, в каких случаях лучше использовать исключения, а в каких if..else и по возвращенному значению функции, например, судить о корректности произошедшей ситуации?

я понимаю, что тема в каком-то смысле философская, но хочется послушать ваши доводы. всем спасибо.



Спустя 9 часов, 7 минут, 25 секунд (11.03.2012 - 07:49) Игорь_Vasinsky написал(а):
в статье описаны приимущества использования, ты уж сам реши - нужны они тебе или нет. я не использую например.

Спустя 1 час, 7 минут, 39 секунд (11.03.2012 - 08:57) alexbel2404 написал(а):
http://habrahabr.ru/blogs/php/21376/ вот еще почитай.

Спустя 6 минут, 21 секунда (11.03.2012 - 09:03) sergeiss написал(а):
По моим представлениям, try-catch подобны страховке. Типа КАСКО - от случайных повреждений. Причем в случае программирования это даже еще лучше - платить бабки не надо, достаточно просто написать чуть больше кода smile.gif
И ты уже сам должен оценить, насколько необходима эта страховка в каждом конкретном случае.
Если ты уверен, что возвращаемый результат можно оценить на уровне "false или не false", то тогда можно и без исключений.
Но если внутри какого-то блока возможно возникновение ошибок, причем ты заранее не можешь оценить, какие именно ошибки будут, то лучше работать с исключениями. Например, у тебя есть какая-то большая формула. В знаменателе, в разных местах формулы, есть разные переменные, которые могут иногда быть нулевыми, не важно, по какой причине. Тогда лучше, наверное, будут исключения. Иначе придется проверять на равенство нулю много переменных. А если тебе придется изменить формулу? Тогда придется менять условия. В случае же работы с исключениями общая логика не изменится.

Это я один пример привел. Еще раз повторю, что надо смотреть по ситуации, а не "лепить" везде исключения. Так что философии тут нету smile.gif, есть только рационализм.

Пример из жизни, насчет "исключений" smile.gif Когда человек только начинает кататься на роликовых коньках, то может поначалу часто падать, да еще и не умеет падать аккуратно. Поэтому ему нужна хорошая защитная экипировка. Когда опытный - то уже не так она важна, т.к. человек очень редко падает, плюс к тому умеет падать.
Вот и попробуй ответь однозначно на вопрос "нужна ли защита человеку, который катается на роликовых коньках?".

Спустя 2 минуты, 44 секунды (11.03.2012 - 09:06) Игорь_Vasinsky написал(а):
Цитата
"нужна ли защита человеку, который катается на роликовых коньках?"

ответ, ему нужны не просто коньки, а коньки с доп колёсиками (как для велосипедов делают - на заднем - + 2 дополнительных) laugh.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.