0
我試圖捕獲中間件庫中的錯誤。
但它似乎並不奏效。
不應該這樣做嗎?快遞中間件:發現域錯誤
我沒有讓json回來,服務器退出。
服務器:
var express = require('express');
var mw = require('./lib/middleware.js');
var app = express();
app.use('/mw', mw());
app.listen(3000);
console.log('Express started on port 3000');
中間件:
var domain = require('domain');
module.exports = function(devices) {
return middleware;
};
var middleware = function(req, res) {
var d = domain.create();
d.add(req);
d.add(res);
d.on('error', function(err) {
res.json(500, { error: err })
res.end();
});
d.run(function() {
throw new Error('some error');
});
}
的http://計算器。 com/questions/22823887/expressjs-and-domain-error-handling-in-middleware/22824448#22824448 – vkurchatkin
express does try/catch,但爲什麼域沒有先處理錯誤?比Try/Catch不會被達到? – r03
,因爲它已被捕獲。我開始明白 – r03