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

vsb>Для этого ему сначала надо взломать сервер (:


Для этого не нужно взламывать сервер, конечно пользователю показываются
ошибки которые он может исправить: ввести логин и пароль, загрузить другой файл,
предоставить правильную ссылку и так далее.

Z>>И большинство софта с которым я работаю в общем-то "популярные" ошибки пользователя так и обрабатываются как я указал в исходном сообщении.

Z>>Если пришел код 401/403 по HTTP то почти любое приложение умеет преобразовать его в диалог повторного
Z>>запроса логина и пароля

vsb>Вот это как раз и делается очень удобно с исключениями. Заводится одно исключение UnauthorizedException которое может бросить кто угодно и которое на уровне общего обработчика преобразуется в соответствующий HTTP-код.


И в результате будет сделано как раз то, что вы говорили что никто не делает:
Z>а сообщение о том что случилось и как это исправить.
Z>Для это и нужно контролировать прохождение ошибки сверху вниз и добавлять к ней нужный
Z>контекст.

Мы перехватываем ошибки/коды типа 401,403 плюс ошибки связанные со сроком действия токена
и бросаем вместо него UnauthorizedException

Z>>Большинство рабочего софта (IDE, видео редакторы, фото редакторы) показывают ошибку типа кончилось

Z>>место и некоторые даже сразу запускают какой-нибудь системный диалог для удаления ненужных файлов.

vsb>Я про серверный софт пишу всё это время.


А какая разница? Так или иначе весь серверный код взаимодействует пользователю,
из-за того что условный Photoshop открывается с помощью загрузки сайта, а не через запуск exe что-то измениться?
Мне кажется как раз наоборот, если раньше при ошибке о недостатка памяти можно было просто упасть,
теперь лучше сообщить об этом пользователю, ведь это реальные деньги: "памяти не хватает для обратки операции XYZ,
оплатите переходите на тариф "ПРО" за +100$ и объем доступной памяти будет увеличен вдвое".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.