Процесс Nodejs без исключения рухнул

Я записываю в журнал запись, когда в моем приложении nodejs возникает неперехваченное исключение.

process.on('uncaughtException', function (err) {
    log.warn('Caught exception. Exiting. error: ' + err + ", stack: " + err.stack);
    process.exit(1);
});

Но пару раз сегодня приложение вылетало без записи в журнале.

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

Итак, есть ли способ, которым приложение может аварийно завершить работу без неперехваченного исключения?

Это зависит от того, как другие события обрабатываются в файле server.js - такие события, как 'error', 'clientError' и т. д. Можете ли вы поделиться файлом, содержащим вышеуказанный бит кода.

Himavanth 01.12.2018 14:56
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
45
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Предлагаю также добавить unhandledRejection. Как упоминается в документации Node.js,

The unhandledRejection event is emitted whenever a Promise is rejected and no error handler is attached to the promise within a turn of the event loop. When programming with Promises, exceptions are encapsulated as "rejected promises". Rejections can be caught and handled using promise.catch() and are propagated through a Promise chain. The unhandledRejection event is useful for detecting and keeping track of promises that were rejected whose rejections have not yet been handled.

Вот пример того, как снова использовать его, предоставленный Node.js:

process.on('unhandledRejection', (reason, p) => {
  console.info('Unhandled Rejection at:', p, 'reason:', reason);
  // application specific logging, throwing an error, or other logic here
});

somePromise.then((res) => {
  return reportToUser(JSON.pasre(res)); // note the typo (`pasre`)
}); // no `.catch()` or `.then()`

Другие вопросы по теме