簡體   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