我正在开发一个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