Управление ошибками в 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'...