Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
hVosttcodearticles.ruКонтроллеры все равны и подчиняются своему базовому классу - основа ООП. Опытный программист всегда предпочтёт агрегацию наследованию, аспект оверрайду. ООП как основа для архитектуры хороша только для узконаправленных библиотек и задач, напрямую отражающих наследование в своей логике. Основывать архитектуру приложения на ООП будет только новичёк, прочитавший одну из пропогандонских книжонок времён мамонта, или упоротый укурыш. Базовый контроллер как "центр вселенной" приложения это однозначная тухлятина. Тем более для таких вещей, как обработка ошибок и прокидывание сервисов. Не путать центр вселенной и централизованную обработку ошибок всех контроллеров по единому шаблону. Опытный программист отделяет мух от котлет, а не пишет центры вселенной. Прокидывание и инициализирование сервисов в базовом контроллере через тот же IoC не перечит ни единому паттерну проектирования. Не стоит бояться наследования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 17:11 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
Алексей КhVosttЛовить надо как можно ближе к месту появления...Ловить надо как можно дальше от места появления! +1234567890 [/quot] P.S. Хвост снова жжет профессионализмом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 17:12 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
skyANAЛовить надо там, где есть возможность обработать! Да везде есть эта возможность. Но тащить эти сопли прям из точки возникновения - кретинизм. Хотя можно и так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 17:13 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
Алексей КБудем в каждом методе контроллера ставить одинаковый try...catch ? Удачи! ну желательно. чем ближе к источнику ошибки, тем проще обработать. что там в глобале можно сделать, куда сыпятся вообще всё, кроме как залогировать и послать пользователя куда подальше, я не знаю. например, открывая файл с диска, надо обернуть в try/catch, чтобы если что можно было по месту происшествия решить что делать, если файл не открывается. может просто сообщение показать правильное, а не выплёвывать ошибку 500? и т.д. Алексей КТестировать надо слой логики а не MVC-контроллеров. тестировать надо всё. не везде конечно, но мы стараемся покрывать 100%. это миллион раз помогало, особенно в процессе доработок. допустим сдали проект, всё ок. потом через пол года приходит клиент и говорит, надо кое что приделать, или поменять. доделываем, меняем, а юнит-тесты дают гарантию, что ничего при этом не сломалось. это конечно не отменяет работу QA, но здорово её упрощает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 17:15 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
Алексей КХотя, может быть это ? Да, оказалось оно самое. На форумах ссылки на сайт размещают и незарегистрированным пользователям выдаётся что-то типа http://site.com/catalog/.../dresses/ При переходе по такой ссылке юзер идёт мимо Application_Error(). А с relaxedurltofilesystemmapping нормал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 17:16 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
Алексей КskyANAпропущено... Ни фига не аналогичная. Пользователь залил пачку из 10 файлов. 3 кривые. Нужно показать разом все не валидные с возможностью посмотреть детализацию ошибки по каждому из них. Проброс исключения наверх тут не катит.AggregateException ? Ахаха. Изображаешь Equus asinus? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 17:18 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
codearticles.ruskyANAЛовить надо там, где есть возможность обработать! Да везде есть эта возможность. Но тащить эти сопли прям из точки возникновения - кретинизм. Хотя можно и так.С умным видом сказал сферическую фигню :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 17:21 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
skyANAcodearticles.ruпропущено... Да везде есть эта возможность. Но тащить эти сопли прям из точки возникновения - кретинизм. Хотя можно и так.С умным видом сказал сферическую фигню :) Каков начальный вопрос, таков конечный ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 17:22 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
codearticles.ruНе путать центр вселенной и централизованную обработку ошибок всех контроллеров по единому шаблону. Опытный программист отделяет мух от котлет, а не пишет центры вселенной. Прокидывание и инициализирование сервисов в базовом контроллере через тот же IoC не перечит ни единому паттерну проектирования. Не стоит бояться наследования. Мозги не ипай людям. Страх здесь не при чём. Танки грязи не боятся, но это не значит, что танкам при этом надо всегда по уши в грязи сидеть. Про мух и котлет в самую точку, только ты по ходу как раз этого не понимаешь. Прокидывание и инициализация в базовом контроллере - это убогое говнище, за одно упоминание которого уже должно быть стыдно, а так делать это себя не уважать. И про какие такие мухи и котлеты ты мне тут чешешь? Ты можешь базовый контроллер заменить, не трогая ни самого базового контроллера, ни его наследника? Хер. Ты можешь сделать независимый компонент с контроллером, который не знает про существование твоего базового говноконтроллера, и при этом подключается и существует с остальными контроллерами на равных, пользуясь теми же "благами цивилизации"? Как ты тестировать это говнище будешь? Я понимаю, что ничего из вышеперечисленного ты никогда не делал, юнит-тестирование это для тебя филькина грамота, о которой ты только в статьях на хабре читал, а запилить студенческую поделку это пжалста, потом напускать на себя умный вид, с понтом знаешь как-нада ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 17:31 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
hVosttАлексей КБудем в каждом методе контроллера ставить одинаковый try...catch ? Удачи! ну желательно. чем ближе к источнику ошибки, тем проще обработать. что там в глобале можно сделать, куда сыпятся вообще всё, кроме как залогировать и послать пользователя куда подальше, я не знаю. например, открывая файл с диска, надо обернуть в try/catch, чтобы если что можно было по месту происшествия решить что делать, если файл не открывается. может просто сообщение показать правильное, а не выплёвывать ошибку 500? и т.д."Правильное сообщение" определяется по типу исключения при логировании. hVosttАлексей КТестировать надо слой логики а не MVC-контроллеров. тестировать надо всё.Тестировать не надо ничего? Наверное, истина где-то посередине. hVosttне везде конечно, но мы стараемся покрывать 100%.Это маразм. hVosttэто миллион раз помогалоЭто самовнушение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 17:35 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
skyANAАлексей Кпропущено... AggregateException ? Ахаха. Изображаешь Equus asinus?Просто пошутил. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 17:35 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
Алексей К"Правильное сообщение" определяется по типу исключения при логировании. я не имел в виду под правильным сообщением строку с сообщением. исключение прерывает работу всего метода, и тебе уже тупо некуда воткнуть это сообщение, только показать его глобально. пользователь выделил и отправил на сервак 10 изображений, среди них случайно попал файл не являющийся изображением. в твоём случае вся загрузка отвалится с одним тупым сообщением: Ошибка 500, файл не является изображением. в то время, как надо было загрузить всё, что можно было загрузить и правильно отчитаться. Алексей КЭто маразм. ты можешь делать так как считаешь нужным. я не запрещаю маразм сидеть на стуле, сижу на потолке! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 17:41 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
hVosttАлексей К"Правильное сообщение" определяется по типу исключения при логировании. я не имел в виду под правильным сообщением строку с сообщением. исключение прерывает работу всего метода, и тебе уже тупо некуда воткнуть это сообщение, только показать его глобально. пользователь выделил и отправил на сервак 10 изображений, среди них случайно попал файл не являющийся изображением. в твоём случае вся загрузка отвалится с одним тупым сообщением: Ошибка 500, файл не является изображением. в то время, как надо было загрузить всё, что можно было загрузить и правильно отчитаться.Это частный случай. Не нужно на него ориентироваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 17:44 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
Алексей КЭто частный случай. Не нужно на него ориентироваться. А кто на него ориентируется? Это один из многочисленных примеров с ходу пришедших на ум. Глобальный отлов исключений связан с неожиданными ошибками, и там нет смысла изучать тип исключения, это ничего не даст, ни чем не поможет пользователю, а пользователя по правилам хорошего тона информировать о подробностях таких ошибок не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 20:30 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
hVosttАлексей КЭто частный случай. Не нужно на него ориентироваться. А кто на него ориентируется?Понимаешь, Алексей он всегда через призму своего проекта говорит. В его унылом корпоративном продукте это частный случай. В его унылом корпоративном продукте не нужно на него ориентироваться. Вот так его надо читать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 22:50 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
skyANAhVosttпропущено... А кто на него ориентируется?Понимаешь, Алексей он всегда через призму своего проекта говорит. В его унылом корпоративном продукте это частный случай. В его унылом корпоративном продукте не нужно на него ориентироваться. Вот так его надо читать.Ну нет, я буду смотреть через призму унылых CRM от hVostt, ага... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2014, 18:30 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
Алексей КНу нет, я буду смотреть через призму унылых CRM от hVostt, ага... гони 500 р.! никто не может смотреть через призму моих унылых CRM забесплатно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2014, 19:21 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
Алексей КskyANAпропущено... Понимаешь, Алексей он всегда через призму своего проекта говорит. В его унылом корпоративном продукте это частный случай. В его унылом корпоративном продукте не нужно на него ориентироваться. Вот так его надо читать.Ну нет, я буду смотреть через призму унылых CRM от hVostt, ага... Хоть раз бы мог задуматься о том, что, помимо вялотекущих корпоративных бизнес-процессов, существуют и другие, со своей спецификой и требованиями. Ничего. В один прекрасный момент топ-менеджмент вдруг поменяется, откроешь для себя новый мир ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2014, 11:04 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
skyANAАлексей Кпропущено... Ну нет, я буду смотреть через призму унылых CRM от hVostt, ага... Хоть раз бы мог задуматься о том, что, помимо вялотекущих корпоративных бизнес-процессов, существуют и другие, со своей спецификой и требованиями.Из того, что было озвучено: "закачать 10 файлов на сервер" и "парсинг кастомизированного пользователем шаблона разметки" - это специфика, да, это всё меняет. Ну рассказывай, какая там у вас специфика ещё, чтобы я смог задуматься. skyANAНичего. В один прекрасный момент топ-менеджмент вдруг поменяется, откроешь для себя новый мир Очень испугался... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2014, 16:21 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
Ну какая специфика... Представь перманентный отчётный период, когда не раз в год корпоративный планктон жалуется, что ни фига не работает (весь год они тупо закрывали твой мессадж бокс), в постоянно находят косяки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2014, 16:26 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
Алексей К, да и смысл мне тебе что-то рассказывать? Я участвовал в разработке для НК "ЮКОС", это было 8-11 лет назад. Видел я твой подход. Понимаю, что другие решения для тебя - это "специфика". Ещё тогда говорили, что "ЮКОС" опережает лет на 7 другие компании в России по автоматизации. Мы начали ASP.NET внедрять в 2004-м, с чем ты только в этом году познакомился. Выходит не на 7, а на все 10 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2014, 16:39 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
skyANAНу какая специфика... Представь перманентный отчётный период, когда не раз в год корпоративный планктон жалуется, что ни фига не работает (весь год они тупо закрывали твой мессадж бокс), в постоянно находят косяки Мы делаем оперативные системы, они работают 24/7, так что не тот случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2014, 17:20 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
skyANAМы начали ASP.NET внедрять в 2004-м, с чем ты только в этом году познакомился.То, с чем я познакомился, в 2004-м ещё не было. В 2004-м все вменяемые разработчики писали корпоративное UI на Delphi. .Net в те времена был ещё так себе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2014, 17:25 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
Алексей КskyANAНу какая специфика... Представь перманентный отчётный период, когда не раз в год корпоративный планктон жалуется, что ни фига не работает (весь год они тупо закрывали твой мессадж бокс), в постоянно находят косяки Мы делаем оперативные системы, они работают 24/7, так что не тот случай.Почему не тот, или что-ты подразумеваешь под оперативной системой? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2014, 17:38 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
Алексей КВ 2004-м все вменяемые разработчики писали корпоративное UI на Delphi.А мы писали на Centura SQL Windows 32 :) ASP.NET вообще-то для веб-морды внедряли. Покажи как мне тех вменяемых разработчиков, кто тебе веб-морду на Delphi в 2004-м писали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2014, 17:41 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38767250&tid=1356943]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 358ms |

| 0 / 0 |
