Как разрешить необработанные исключения в Node.js?
Ниже описаны два подхода к разрешению необработанных исключений в Node.js:
Подход 1. Использование блока try-catch: мы знаем, что Node.js - это платформа, построенная на среде выполнения JavaScript для простого создания быстрых и масштабируемых сетевых приложений. Являясь частью JavaScript, мы знаем, что наиболее распространенный способ обработки исключения - это использование блока try и catch.
Пример:
try { // The synchronous code that // we want to catch thrown // errors on var err = new Error( 'Hello' ) throw err } catch (err) { // Handle the error safely console.log(err) } |
Примечание. Однако будьте осторожны, чтобы не использовать try-catch в асинхронном коде, поскольку асинхронно выданная ошибка не будет обнаружена.
try { setTimeout( function () { var err = new Error( 'Hello' ) throw err }, 1000) } catch (err) { // Example error won't be caught // here... crashing our application // hence the need for domains } |
Подход 2: Использование процесса: хорошая практика гласит, что вы должны использовать процесс для обработки исключения. Процесс - это глобальный объект, который предоставляет информацию о текущем процессе Node.js. Процесс - это функция-слушатель, которая всегда слушает события.
Несколько событий:
- Отключить
- Выход
- Сообщение
- Несколько разрешений
- Необработанное исключение
- Отклонение обработано
- Неперехваченное исключение
- Предупреждение
Самый действенный и действенный подход - использовать Process . Если в потоке кода возникает какое-либо неперехваченное или необработанное исключение, это исключение будет перехвачено в коде, показанном ниже:
Пример:
process.on( 'uncaughtException' , function (err) { // Handle the error safely console.log(err) }) |
Приведенный выше код сможет обрабатывать любые необработанные исключения, возникающие в Node.js.