Ребят,такой вопрос.Есть мидлвара,которая ловит ошибки в индексном файле express сервера.У меня могут 2 типа объекта error приходить (исключения/фатальная ошибка).В случае исключения я возвращаю пользователю сообщение (Например пробует авторизоваться человек,которые еще не регистрировался),например "Email didn't find." А в случае ошибки,что возвращать?
не, ты не в ту сторону пошел и не на том делаешь акцент. никаких фатальных ошибок не существует. есть только два типа:
1) ожидаемые ошибки.
2) исключительные ситуации.
в твоем примере, то, что ты называешь "исключением" — это ожидаемая ошибка. а то, что ты называешь "фатальной ошибкой" — это исключение.
пример:
* ты делаешь калькулятор, деление на ноль — это ожидаемая ошибка.
* ты делаешь консольную утилиту для конвертирования файлов. пользователь указал неправильный путь к файлу — в этом конкретном случае это вполне ожидаемая ошибка, ведь пользователь может ошибиться при наборе пути.
* ты пишешь сервер. при запуске он читает файл конфига. если файл не найден, то это исключительная ситуация, потому что файл конфига должен всегда существовать (ну, допустим это так для нашего примера).
при этом:
* ожидаемые ошибки возвращаются через return, а исключения — через throw.
правило пальца:
* будет ли программа исполняться, если удалить все обработчики исключений (удалить все try-catch)? если ответ отрицательный — значит исключения используются неправильно.