Управление ошибками в Restify
Как я могу управлять всей ошибкой моей резервной сборки сервера с помощью Restify of NodeJS? Например, внутренние ошибки, ошибки базы данных, проверка правильности, требуемые параметры, не найденные, агоризованные... И uncaughtException и возврат пользовательского ответа в браузер?
Как я могу сконструировать долю данных и ошибок между контроллерами?
Спасибо
Ответы
Ответ 1
- Немедленно обрабатывайте свои ошибки, где они сгенерированы.
next(err)
действительно означает res.send(err)
. Это не альтернатива throw err
. Если вам нужно зайти в журнал и завершить работу, передайте его в модуль обработки ошибок, а не наполните его в next(err)
, где он будет проглатываться.
-
server.on('uncaughtException'...
- это то, как вы обрабатываете любые ошибки, которые были брошены в промежуточное ПО/маршруты. Он отлично подходит для этой цели, если вы помните первое руководство. 'uncaughtException'
не будет запускаться для вызовов next(err)
.
-
formatters
- это способ настройки сообщений об ошибках, отправляемых пользователям. Они определенно не являются жизнеспособной альтернативой работе с ошибками в uncaughtException
, потому что, предположительно, как только вы туда попадете, вы отправляете пользователю ошибку, которую вы хотите, чтобы они видели... не обязательно возникшая изначально ошибка. См. Пункт 1.
- Для ошибок, не связанных с промежуточным программным обеспечением, не забудьте использовать
process.on('uncaughtException'...