use*_*sks 1 javascript node.js express
我想在expressJS应用程序中单点开发错误处理.
我在expressJS配置中添加了以下代码:
app.use(app.router);
app.use(function (err, req, res, next) {
console.error('ExpressJS : error!!!');
});
Run Code Online (Sandbox Code Playgroud)
因此,在应用程序中发生的任何错误然后上面的函数应该执行,以便我可以自定义方式处理错误.
但是,上面的函数没有在javascript错误或以下代码上执行:
throw new Error('something broke!');
Run Code Online (Sandbox Code Playgroud)
我看过:
http://expressjs.com/guide/error-handling.html和
http://derickbailey.com/2014/09/06/proper-error-handling-in-expressjs-route-handlers/
但是,我仍然无法在expressJS应用程序中进行通用错误处理.
任何人都可以解释我将如何在单点处理任何应用程序错误?
不是快递,而是nodejs,你可以试试
process.on('uncaughtException', function(err) {
console.log(err);
});
Run Code Online (Sandbox Code Playgroud)
因为"throw"是javascript,而不是expressjs控件.
对于那些错误,比如在express中的路由,你应该能够捕获app.error或app.use(函数(错误...作为其他建议,也可以使用req,res对象).
app.error(function(err, req, res, next){
//check error information and respond accordingly
});
//newer versions
app.use(function(err, req, res, next) {
});
Run Code Online (Sandbox Code Playgroud)