如何处理Node.js中未捕获的异常情况?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1040个文字,预计阅读时间需要5分钟。
前言:Node.js 程序运行在单进程上,应用开发时难免会遇到异常处理问题。对于一些未捕获的异常,程序也可能不会轻易地表现出问题。下面展示了一段关于未捕获异常的简单示例。
前言
Node.js 程序运行在单进程上,应用开发时一个难免遇到的问题就是异常处理,对于一些未捕获的异常处理起来,也不是一件容易的事情。
未捕获异常的程序
下面展示了一段简单的应用程序,如下所示:
const github.com/cnpm/cnpmjs.org/blob/master/worker.js#L18 graceful({ server: [registry, web], error: function (err, throwErrorCount) { if (err.message) { err.message += ' (uncaughtException throw ' + throwErrorCount + ' times on pid:' + process.pid + ')'; } console.error(err); console.error(err.stack); logger.error(err); } });
上述使用的是 graceful 这个模块,在 NPM 上可以找到。
实现一个 graceful.js
实现一个 graceful 函数,初始化加载时注册 uncaughtException、unhandledRejection 两个错误事件,分别监听未捕获的错误信息和未捕获的 Promise 错误信息。
本文共计1040个文字,预计阅读时间需要5分钟。
前言:Node.js 程序运行在单进程上,应用开发时难免会遇到异常处理问题。对于一些未捕获的异常,程序也可能不会轻易地表现出问题。下面展示了一段关于未捕获异常的简单示例。
前言
Node.js 程序运行在单进程上,应用开发时一个难免遇到的问题就是异常处理,对于一些未捕获的异常处理起来,也不是一件容易的事情。
未捕获异常的程序
下面展示了一段简单的应用程序,如下所示:
const github.com/cnpm/cnpmjs.org/blob/master/worker.js#L18 graceful({ server: [registry, web], error: function (err, throwErrorCount) { if (err.message) { err.message += ' (uncaughtException throw ' + throwErrorCount + ' times on pid:' + process.pid + ')'; } console.error(err); console.error(err.stack); logger.error(err); } });
上述使用的是 graceful 这个模块,在 NPM 上可以找到。
实现一个 graceful.js
实现一个 graceful 函数,初始化加载时注册 uncaughtException、unhandledRejection 两个错误事件,分别监听未捕获的错误信息和未捕获的 Promise 错误信息。

