我正在開發一個Node.js + Express。我的數據庫是Mongo,我使用Mongoose連接到這個數據庫。在貓鼬回調上拋出異常
我想拋出一個異常的貓鼬查詢回調是這樣的:
game.save(function (err) {
if (err) {
throw new app.exception.EntitySaveFailed();
}
});
,但是當我這樣做,節點服務器崩潰,並顯示該堆棧跟蹤:
[object Object]
at Promise.<anonymous> (/home/server/routes/api/game.js:219:17)
at Promise.<anonymous> (/home/server/node_modules/mongoose/node_modules/mpromise/lib/promise.js:162:8)
at Promise.EventEmitter.emit (events.js:95:17)
at Promise.emit (/home/server/node_modules/mongoose/node_modules/mpromise/lib/promise.js:79:38)
at Promise.fulfill (/home/server/node_modules/mongoose/node_modules/mpromise/lib/promise.js:92:20)
at Promise.resolve (/home/server/node_modules/mongoose/lib/promise.js:108:15)
at Promise.<anonymous> (/home/server/node_modules/mongoose/node_modules/mpromise/lib/promise.js:162:8)
at Promise.EventEmitter.emit (events.js:95:17)
at Promise.emit (/home/server/node_modules/mongoose/node_modules/mpromise/lib/promise.js:79:38)
at Promise.fulfill (/home/server/node_modules/mongoose/node_modules/mpromise/lib/promise.js:92:20)
Forever detected script exited with code: 8
Forever restarting script for 9389 time
Listening on port 3000...
當我在mongoose回調函數外拋出一個異常,所有工作正常。
我試圖用例外的,而不是通過尋找參數傳遞信息爲可愛/可讀性代碼。謝謝! – 2013-04-28 18:53:21