powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC: обработка исключения в контроллере
25 сообщений из 406, страница 7 из 17
MVC: обработка исключения в контроллере
    #38767606
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAХорошо вам в корпоративе. Не надо о локализации думатьВместо строковой константы в исключении указать ID сообщения конечно-же сложно.Какой ещё ID? Вы с локализацией не сталкивались ещё?
Алексей КskyANAи о том, что неплохо бы данные какие добавить, validatione rule к примеру, который был нарушен.Добавить свойств к классу исключения тоже можно.Когда? Через год, два? :)
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38767646
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КТипичная ошибка профессионального дилетанта в области UI: кнопочка задизейблена, пользователь сидит в обнимку с хрустальным шаром и гадает, почему кнопка недоступна. Так нужно делать только в самых очевидных случаях, которых не много.

Про всплывающие подсказки видимо ты не слышал?

Ну не смеши тапки Ленина хоть!
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38767650
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КhVosttВот ещё пример.

Пользователь жмёт на чужой комментарий "Ответить", и долго, вдумчиво выплёскивает то, что у него накопилось к оппоненту. Но в это время оппонент решил, что человечество к его комментарию пока ещё не готово и удаляет своё творение. Пользователь жмёт "Отправить" и... получает матюки в ответ, дескать ты чё такой тупой, пытаешься отвечать на удалённые комментарии. Хотя можно было предложить пользователю создать новый комментарий с отправленным текстом вместо ответа или сохранить в черновики, или отправить личное сообщение... Это невозможно никак сделать с твоим подходом. Никак. Ошибки надо ловить там где их можно (и нужно) обработать. А не рисовать некий универсальный подход, которым можно только задницу подтереть.Ну с чего ты взял, что это невозможно? Всё возможно, просто ты не знаешь как. :-)

Ну да. Вот едешь ты на велике, и тут раз -- поворот. В твоей версии ты падаешь, размазываешь себе руки-ноги в кровь, говоришь обёрнутое в InfoException «Блееааать... поворот....», поднимаешься, поворачиваешь велик в нужную сторону, садишься и едешь дальше. Отлично, чо
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38767933
codearticles.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей КПричём тут валидация в UI на клиенте? Мы не об этом сейчас.
Если понадобится. UI или не UI - не суть важно.

Вот этот мрак

Алексей К
Код: c#
1.
2.
3.
4.
5.
void ValidateEntity(Entity entity)
{
    if (entity.A > entity.B)
        throw new InfoException("Нельзя A больше B. До свидания!");
}



и есть самое что ни на есть валидация. А где и кому она нужна, вторично. Бросаться вот так исключениями - предел беспринципности и ультрарадикализма
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38768070
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttПро всплывающие подсказки видимо ты не слышал? Хинты на невидимой кнопке, ага.
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38768089
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
codearticles.ruВот этот мрак

Алексей К
Код: c#
1.
2.
3.
4.
5.
void ValidateEntity(Entity entity)
{
    if (entity.A > entity.B)
        throw new InfoException("Нельзя A больше B. До свидания!");
}



и есть самое что ни на есть валидация. А где и кому она нужна, вторично. Бросаться вот так исключениями - предел беспринципности и ультрарадикализма Лучше, ага:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SaveResult Save(Data data)
{
    SaveResult r;

    r = Save1(data.D1);
    if (!r.IsValid)
        return r;

    r = Save2(data.D2);
    if (!r.IsValid)
        return r;

    r = Save3(data.D3);
    if (!r.IsValid)
        return r;

    return SaveResult.Valid;
}

Так держать! Молодцы!
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38768101
codearticles.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей Кcodearticles.ruВот этот мрак

пропущено...


и есть самое что ни на есть валидация. А где и кому она нужна, вторично. Бросаться вот так исключениями - предел беспринципности и ультрарадикализма Лучше, ага:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SaveResult Save(Data data)
{
    SaveResult r;

    r = Save1(data.D1);
    if (!r.IsValid)
        return r;

    r = Save2(data.D2);
    if (!r.IsValid)
        return r;

    r = Save3(data.D3);
    if (!r.IsValid)
        return r;

    return SaveResult.Valid;
}

Так держать! Молодцы!

Что за очередной слив дезы, бро? Я давеча рассказывал про пряморукие методы типа нативных IValidatableObject.Validate Чем не водка?
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38768123
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КhVosttПро всплывающие подсказки видимо ты не слышал? Хинты на невидимой кнопке, ага.Ахаха. Вы уж определитесь hidden или disabled элементы обсуждаете.
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38768127
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кcodearticles.ruВот этот мрак

пропущено...


и есть самое что ни на есть валидация. А где и кому она нужна, вторично. Бросаться вот так исключениями - предел беспринципности и ультрарадикализма Лучше, ага:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SaveResult Save(Data data)
{
    SaveResult r;

    r = Save1(data.D1);
    if (!r.IsValid)
        return r;

    r = Save2(data.D2);
    if (!r.IsValid)
        return r;

    r = Save3(data.D3);
    if (!r.IsValid)
        return r;

    return SaveResult.Valid;
}

Так держать! Молодцы!Откуда этот говнокод?
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38768296
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КhVosttПро всплывающие подсказки видимо ты не слышал? Хинты на невидимой кнопке, ага.

а зачем хинт на невидимой кнопке? нет кнопки, нет проблем. ты же недавно только бузил по поводу того, что пользователь будет недоволен задисейбелнными контролами, речь шла о них. или ты чего там куришь?
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38768311
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Хинты на невидимой кнопке, ага.Ахаха. Вы уж определитесь hidden или disabled элементы обсуждаете.Или серверную логику...
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38768312
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Лучше, ага:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SaveResult Save(Data data)
{
    SaveResult r;

    r = Save1(data.D1);
    if (!r.IsValid)
        return r;

    r = Save2(data.D2);
    if (!r.IsValid)
        return r;

    r = Save3(data.D3);
    if (!r.IsValid)
        return r;

    return SaveResult.Valid;
}

Так держать! Молодцы!Откуда этот говнокод? Лютый код от нелюбителей исключений.
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38768314
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttа зачем хинт на невидимой кнопке?Да всё, не зачем, забудь.
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38768326
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КhVosttа зачем хинт на невидимой кнопке?Да всё, не зачем, забудь.

Эт видимо какой-то новый способ вести дискуссию, можно нести что попало, потом тупо слить. Ну ок, уже забыл.
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38768333
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей Кпропущено...
Да всё, не зачем, забудь.

Эт видимо какой-то новый способ вести дискуссию, можно нести что попало, потом тупо слить. Ну ок, уже забыл.Ну мы ведь не хинты на кнопках обсуждаем, не так ли?
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38768336
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Лучше, ага:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SaveResult Save(Data data)
{
    SaveResult r;

    r = Save1(data.D1);
    if (!r.IsValid)
        return r;

    r = Save2(data.D2);
    if (!r.IsValid)
        return r;

    r = Save3(data.D3);
    if (!r.IsValid)
        return r;

    return SaveResult.Valid;
}

Так держать! Молодцы!Откуда этот говнокод? Более того, Рихтер так делает, если hVostt ничего не путает .
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38768349
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
Откуда этот говнокод? Лютый код от нелюбителей исключений.А конкретнее? Ты его выдумал что-ли?
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38768353
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Лютый код от нелюбителей исключений.А конкретнее? Ты его выдумал что-ли?Да.
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38770944
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, позвольте вмешаться в вашу оживленную дискуссию.

Код: c#
1.
2.
3.
4.
5.
void ValidateEntity(Entity entity)
{
    if (entity.A > entity.B)
        throw new InfoException("Нельзя A больше B. До свидания!");
}



А как надо? Полностью согласен с необходимостью валидации на клиенте, но ведь бизнес-логику может дернуть (в теории) вообще кто угодно. Да хоть пользователь-мерзавец вручную составил запрос. И так получилось, что entity.A > entity.B. Как быть?
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38770952
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zzА как надо? Полностью согласен с необходимостью валидации на клиенте, но ведь бизнес-логику может дернуть (в теории) вообще кто угодно. Да хоть пользователь-мерзавец вручную составил запрос. И так получилось, что entity.A > entity.B. Как быть?

Давай пока оставим бизнес-логику в покое. Возьмём пример по-проще.

var result = Model.A / Model.B;

Что делать? Ловить-оборачивать исключения или проверять Model.B на ноль перед выполнением операции? М?
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38770959
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я за то, чтобы проверить. Проверили, получили ноль. Что делаем дальше?
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38770962
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zzЯ за то, чтобы проверить. Проверили, получили ноль. Что делаем дальше?

Даём возможность пользователю исправить 0 на что-нибудь другое. Подсвечиваем конкретное поле, где пользователь "не прав". Может быть даже обойтись и без этого, если логика допускает, при Model.B == 0, сразу записать в result 0. А что делать и "информационным" исключением? Тынкуть пользователя в него мордой?
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38770967
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так проверку мы где делаем, в бизнес-логике? А как сказать контроллеру, что проверка не удалась? Чтобы он как раз и подсветил поле красненьким для пользователя.
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38770994
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zzТак проверку мы где делаем, в бизнес-логике? А как сказать контроллеру, что проверка не удалась? Чтобы он как раз и подсветил поле красненьким для пользователя.

Проверка делается на уровне модели. Т.е. за пределами бизнес-логики. Для валидации должны быть предоставлены необходимые для этого инструменты.

Например, регистрация пользователя. Можно плеваться исключением на тему того, что такой логин уже занят, или предоставить метод для проверки доступности логина -- тогда можно сделать динамическую валидацию на клиенте и сообщить пользователю, что логин дескать занят и предложить на выбор другой, прямо во время заполнения поля. Это всяко лучше чем "обрадовать" юзера, что логин занят после того как все поля уже были заполнены.

Сам контроллер конечно не должен заниматься непосредственно валидацией, эти механизмы выносятся на уровень вью-модели, а контроллер лишь является проводником.
...
Рейтинг: 0 / 0
MVC: обработка исключения в контроллере
    #38770995
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttПроверка делается на уровне модели.

Уточню, вью-модели.
...
Рейтинг: 0 / 0
25 сообщений из 406, страница 7 из 17
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC: обработка исключения в контроллере
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]