我正在使用node-mongodb-native驱动程序。我试过
collection.findOne({email: 'a@mail.com'}, function(err, result) {
if (!result) throw new Error('Record not found!');
});
但是错误被 mongodb 驱动程序捕获,并且 express 服务器被终止。
这种情况的正确方法是什么?
=== 编辑===
我在 app.js 中有以下代码
app.configure('development', function() {
app.use(express.errorHandler({dumpExceptions: true, showStack: true}));
});
app.configure('production', function() {
app.use(express.errorHandler());
});
相关代码在node_modules/mongodb/lib/mongodb/connection/server.js
connectionPool.on("message", function(message) {
try {
......
} catch (err) {
// Throw error in next tick
process.nextTick(function() {
throw err; // <-- here throws an uncaught error
})
}
});