禁用关键错误的快速error handling
app.use(function (req, res, next) { throw new Error('critical'); })
使快速服务器捕捉到一个严重的错误,并输出它,而我希望它崩溃。
添加error handling程序不会replace默认处理程序。
对于严重错误,如何禁用快速error handling?
如果您希望服务器在出现严重错误时崩溃 ,则可以定义一个error handling中间件 。 这是通过定义一个具有4个参数的函数来完成的,首先是错误。 这将在抛出错误时调用。 您可以检查错误并确定它是否至关重要,如果是,请调用process.exit
。
const app = require('express')() app.use('/', (req, res) => { throw new Error('critical') }) app.use((err, req, res, next) => { if (err.message === 'critical') { process.exit(1) } else { // carry on listening } })