禁用关键错误的快速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 } })