gpt4 book ai didi

node.js - 错误处理程序表示无效

转载 作者:行者123 更新时间:2023-12-03 08:54:33 26 4
gpt4 key购买 nike

我尝试使用errorhandler中间件处理错误,但它不起作用,为什么?如果我使用自定义的handleError可以。你能帮助我吗?我是node.js的新手,开始时很难。

var express = require('express'),
timeout = require('connect-timeout'),
errorhandler = require('errorhandler');
var app = express();
//app.use(errorhandler({log:errorFunction}))

app.use(express.static('public'));
app.set('port', process.env.PORT || 3000);
app.use(timeout('2s'))


app.get('/slow-request',function(req,res,next){

setTimeout(function(){

if(req.timedout){return false}
console.log("Time is ok, i can use next()")
},3000)

})

/*
function errorFunction(err,str,req)
{
console.log("ERRORfromerrorHandler!!!!!");//never called? why?
}
*/

app.use(function(err, req, res, next) {
res.status(err.status || 500);
console.log("ERRORfromMyCustomErrorFunction!!!!!")// it is ok
});


var server = app.listen(app.get('port'), function() {
console.log('Express server listening on port ' + server.address().port);
});

最佳答案

您的错误处理程序很好。

而不是使用setTimeOut,而不是throw一个错误,您的错误处理程序将捕获该错误。

关于node.js - 错误处理程序表示无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31107926/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com