Re[18]: Почему в расте отсутствует выброс исключений?
От: alex_public  
Дата: 07.12.22 22:38
Оценка:
Здравствуйте, vsb, Вы писали:

Z>>Для этого не нужно взламывать сервер, конечно пользователю показываются

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

Интересно, что по ходу дискуссии ты стал высказывать тезисы на 100% совпадающие с моим изначальным посылом. Хотя в начале вроде как спорил с ним...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.