Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js Express handle errors函数_Javascript_Node.js_Express - Fatal编程技术网

Javascript Node.js Express handle errors函数

Javascript Node.js Express handle errors函数,javascript,node.js,express,Javascript,Node.js,Express,在express应用程序中,我研究了我们可以使用以下方式处理错误: // app.js app.use(function (error, req, res, next) { // Handle errors }); 我的问题是: 只有在出现错误时才会调用此函数,对吗?如果没有错误,我无法调用此函数。我遗漏了什么吗 是否有任何情况下,即使出现无错误,也会调用此函数 谢谢是的。arity为4的中间件(即:err,req,res,next)是错误处理程序,当出现错误时将调用它 错误可能是其他

在express应用程序中,我研究了我们可以使用以下方式处理错误:

// app.js
app.use(function (error, req, res, next) {
    // Handle errors
});
我的问题是:

  • 只有在出现错误时才会调用此函数,对吗?如果没有错误,我无法调用此函数。我遗漏了什么吗
  • 是否有任何情况下,即使出现错误,也会调用此函数

  • 谢谢

    是的。arity为4的中间件(即:
    err,req,res,next
    )是错误处理程序,当出现错误时将调用它

    错误可能是其他中间件中未捕获的异常,也可能是在调用
    next(err)
    而不是不带参数的
    next()
    时显式引发的错误


    在某些情况下,这些处理程序将不会被调用。例如:异步块中发生的错误。

    非常有用的信息和快速回复。尼赞摇了摇头+1.