繁体   English   中英

Node.js Express-根据错误类型不同地处理错误

[英]Node.js Express - Handle Error Differently Based on Error Type

一些细节...我正在使用Express 4,Node 0.12.2和Express-Handlebars作为我的视图引擎。

我正在尝试通过AJAX调用呈现部分内容,并希望以不同的方式处理不同的错误类型。 在回调调用中传递的err对象似乎并没有太多有用的信息,只是一条错误消息。 我在这里想念什么吗?

// Search (Partial)
router.get('/search-products', function (req, res, next) {
    res.render('partials/search/products', {layout: 'ajax'}, function(err, html){
        if(err) {
            // return res.status(404).send(err);
            // return res.status(500).send(err);
        }
        res.send(html);
    });
});

该错误对象将没有状态代码,因为它是视图引擎生成的错误对象。 如果该错误被填充,您几乎可以认为是500错误,因为视图引擎由于某种原因未能编译视图。

例如,如果您使用的是Jade,则当您尝试让Jade编译具有无效Jade语法的模板时,将填充该错误对象。 该错误永远不会与HTTP相关,这意味着它始终只是服务器端错误,状态码500应该足够。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM