在 Node.js 中,我们不抛出字符串,而仅抛出 Error 对象。
错误对象
错误对象是 Error 对象的实例、或者继承自 Error 类(由 Error 核心模块提供):
throw new Error('错误信息')
或:
JS
class NotEnoughCoffeeError extends Error {
//...
}
throw new NotEnoughCoffeeError()
处理异常
异常处理程序通常是 try/catch 语句。
捕获未捕获的异常
如果在程序执行过程中引发了未捕获的异常,则程序会崩溃。
若要解决此问题,则监听 process 对象上的 uncaughtException 事件:
process.on('uncaughtException', err => {
console.error('有一个未捕获的错误', err)
process.exit(1) //强制性的(根据 Node.js 文档)
})
无需为此导入 process 核心模块,因为它是自动注入的。