Здравствуйте, vsb, Вы писали:
Z>>Для этого не нужно взламывать сервер, конечно пользователю показываются Z>>ошибки которые он может исправить: ввести логин и пароль, загрузить другой файл, Z>>предоставить правильную ссылку и так далее. vsb>Такие ошибки вообще не должны кидать исключения ни на каком этапе. Неправильный логин — селект возвращает null (или optional для эстетов), код простым if-ов разбирается с ситуацией. То же с паролем и тд. Конечно иногда API нужного просто нет, например в жаве нельзя распарсить строку в число без обработки исключения, но это уже недостаток API. Ряд API было бы неплохо дублировать для двух юз-кейсов. К примеру я в своих программах при работе с базой различаю методы find, которые всегда возвращают один результат, а если результатов 0 или 2+, то кидают исключение и методы query, которые возвращаю Optional. В итоге в коде я либо использую метод find без каких-то дополнительных проверок (к примеру если в URL-е пришёл ID, зачем его проверять, URL это не поддерживаемый элемент интерфейса и ввод кривого URL-а просто приведёт к выбросу этого исключения и возврату его в итоге как 404 страницы), либо метод query, если это уже нормальная форма поиска, к примеру.
Интересно, что по ходу дискуссии ты стал высказывать тезисы на 100% совпадающие с моим изначальным посылом. Хотя в начале вроде как спорил с ним...