|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.11.2010, 21:57 | #11 |
-=PriZraK=-
Форумчанин
Регистрация: 12.12.2007
Сообщений: 399
|
Уважаемый, Andkorol. Все что Вы написали мне ясно, но иногда если возникает исключение, лучше не показывать текста ошибки, который генерирует php, а показать что-то другое или вообще ничего не показывать. Поэтому я в некоторых случаях использую подавление ошибок. Но не потому, что я не знаю, как их исправить, а для того, что бы пользователь в случае нештатной ситуации не видел того, чего бы ему не надо видеть. Вотс. Отсюда и вопрос назревает, почему нельзя и как это влияет на работу кода? По крайней мере в 4й версии php такой проблемы не наблюдалось...
|
07.11.2010, 22:44 | #12 | |
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
Цитата:
Чтож... Почему подавление ошибок это плохо: 1) Дебаг. Вы никогда в жизни не найдёте ошибку, которой не видите. При подавлении ошибки PHP всё равно выдаёт эту ошибку и даже прекратит работу скрипта "внезапно", но вам об этом ничего не скажет. Ни вам, ни пользователю, ни администратору ресурса, ни логам, ни серверу. И будете вы потом голову ломать, из-за чего же скрипт выполняется не полностью. А в сложных скриптах, в глубокоунаследованных классах вы никогда не найдёте эту ошибку. Вообще. Совсем. 2) Подавление ошибки на 10% медленнее чем её перехват и на 40% медленнее чем избежание этой ошибки. 3) Непредвиденные ситуации, когда подавление ошибки может изменить работу скрипта (ваш пример). Самый главный из этих пунктов - первый. Использование обработки ошибки, вместо её подавления говорит о профессионализме программиста. Представьте, что вместо того, чтобы отремонтировать вашу машину в автомастерской вам бы посоветовали одевать наушники и слушать музыку погромче вместо ремонта авто. Насколько профессиональны такие механики?
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
|
|
07.11.2010, 22:47 | #13 | ||
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Цитата:
Исключения - это исключения,обработка и вывод ошибок - это отладка. По ссылкам есть информация о настройках "Уровня оповещений об Ошибках" - чего ради,я так понимаю, вы и используете @ "в некоторых случаях". А вот использование для этого всего @ - это "прятанье головы в песок", и вот почему: Цитата:
Программист : - Так-с,ну-ка вызову я вот эту функцию func_x();... Интерпретатор : - Так она с ошибками написана,потому "Warning : ....." тебе .... Программист : - Да заткнись ты уже - потом профиксим,чё там!... @func_x();.... Итог - ошибка не исправлена,исключение или "нештатка" никак корректно не обработана - тупо пустой экран. Программист счастлив - ибо "пользователь не увидел того,чего бы ему не надо видеть".... Если баг критичный - на поиски причин уходит значительное время. Суть именно в том,о чём я говорил в посте выше - в коде ошибок быть не должно, все "узкие" места должны быть чётко обработаны исключениями или дополнительными проверками результатов. Ещё раз повторю: сокрытие проблемы != решение проблемы |
||
07.11.2010, 22:59 | #14 |
-=PriZraK=-
Форумчанин
Регистрация: 12.12.2007
Сообщений: 399
|
Спасибо, за ответы) Да, я столкнулся с такой ситуацией, однако одно дело писать под апачем на локалке, а другое на хостинге) Один и тот же код ведет себя по разному.
|
08.11.2010, 02:57 | #15 |
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
У вас на локалке Денвер стоит? Хотя вобщем-то неважно. Если на локалке винда, а на сервере никс, то уже можно ожидать разного поведения от скрипта. Поэтому я держу локальный сервер на вирт.машине на убунте.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
|
08.11.2010, 06:33 | #16 |
-=PriZraK=-
Форумчанин
Регистрация: 12.12.2007
Сообщений: 399
|
Johnatan, Денвер это зло. У меня Miniserv. Всем спасибо, тема себя исчерпала)
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Почему не работают сессии? | Яр|/||< (^_^) | PHP | 6 | 14.07.2010 12:36 |
Сессии | L_M | PHP | 3 | 06.06.2009 10:27 |
Сессии | limon | PHP | 19 | 29.11.2008 22:46 |