Что происходит с ошибкой, переданной «next», если промежуточное программное обеспечение не обрабатывает ее? - PullRequest
0 голосов
/ 08 мая 2018

В Express я могу обрабатывать ошибки, передавая их в функцию обратного вызова next. Если я зарегистрировал функцию промежуточного программного обеспечения для обработки ошибок, она будет вызвана с этой ошибкой.

Куда ведет ошибка, если нет промежуточного программного обеспечения для ее обработки или если это промежуточное программное обеспечение также передает ошибку с next?

Я не вижу ошибки в «uncaughtException» или «unhandledRejection».

(я использую Express v4.16.2)

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

Я нашел ответ в экспресс-документах .

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

Если вы передаете ошибку в next () и не обрабатываете ее в обработчике ошибок, она будет обработана встроенным обработчиком ошибок; ошибка будет записана клиенту с трассировкой стека. Трассировка стека не включена в производственную среду.

0 голосов
/ 08 мая 2018

Я думаю, что ответом является то, что они проглатываются, так что конфиденциальная информация, потенциально содержащаяся в сообщении об ошибке, не регистрируется.Вы должны написать свое собственное промежуточное программное обеспечение, чтобы сделать что-то полезное и разумное для вашего приложения.Я считаю, что поведение по умолчанию изменилось в предыдущих версиях, поэтому проверьте, какая версия вы используете, и посмотрите, что ожидается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...