错误处理中间件
比请求响应中间件多了一个参数,依然是错误优先的风格,4个参数依次是error、request、response、next
只能使用app.use()方法添加,应该放在中间件的末尾,当前其他中间件抛出错误时,会被该中间件拦截,error参数就是抛出的错误对象
由于中间件是按照定义的顺序依次进行处理请求,所以无法捕获异步回调函数中的错误,需要手动触发,即在异步回调使用next(error)方式,将错误对象传递到错误处理中间件(async函数使用同步try...catch方式捕获再调用next(errot)方法即可)

Comments NOTHING