我正在使用节点,我尝试将显示重定向为404和500错误。
现在我的代码工作正常:
/* ... Some require here ... */
var app = module.exports = express();
/* ... Some app config here */
// Setup my routes
routes.setup(app);
// Handling 404 errors
app.use(function(req, res) {
res.end("Oups !", 404);
});
// Handling 500 errors
app.use(function(error, req, res, next) {
console.log("Display error : ", error);
res.end("Oups !", 500);
});
// Start server
var server = app.listen(config.PORT);
现在,如果在我的代码上我做throw new Error("An error here");
在console.log上我只得到一个字符串:
Display error : An error here
如果我删除处理错误500的部分,在控制台日志中我会自动获得错误来源的描述:
Error: An error here
at Layer.handle (/Users/arthurgerbelot/dev/perso/test_error/app.js:94:7)
at trim_prefix (/Users/arthurgerbelot/dev/perso/test_error/node_modules/express/lib/router/index.js:226:17)
at c (/Users/arthurgerbelot/dev/perso/test_error/node_modules/express/lib/router/index.js:198:9)
at Function.proto.process_params (/Users/arthurgerbelot/dev/perso/test_error/node_modules/express/lib/router/index.js:251:12)
at next (/Users/arthurgerbelot/dev/perso/test_error/node_modules/express/lib/router/index.js:189:19)
at next (/Users/arthurgerbelot/dev/perso/test_error/node_modules/express/lib/router/index.js:166:38)
at next (/Users/arthurgerbelot/dev/perso/test_error/node_modules/express/lib/router/index.js:166:38)
at next (/Users/arthurgerbelot/dev/perso/test_error/node_modules/express/lib/router/index.js:166:38)
at next (/Users/arthurgerbelot/dev/perso/test_error/node_modules/express/lib/router/index.js:166:38)
at Layer.handle (/Users/arthurgerbelot/dev/perso/test_error/app.js:50:5)
如何获取有关抛出投掷位置的信息?
谢谢大家!
答案 0 :(得分:0)
/ Setup my routes
routes.setup(app);
你可能在routes.setup(app);
中遇到了问题首先删除行代码测试你的应用程序
答案 1 :(得分:0)
是的!阅读完一半的网络文档后,我找到了解决方案!
函数的error
var返回不是console.log()
上显示的字符串。但是一个对象..
如果Object.keys(error)
返回一个空数组,则存在一些属性,并且路径信息在`error.stack上定义。
有关详细信息:https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Error