Javascript nodejs-mongoose没有抛出带有损坏Uri的错误
我的index.ts文件中有以下代码:Javascript nodejs-mongoose没有抛出带有损坏Uri的错误,javascript,node.js,mongoose,Javascript,Node.js,Mongoose,我的index.ts文件中有以下代码: import mongoose from 'mongoose' const DBUri = "blah"; const connectDatabase = (): void => { try { mongoose.connect(DBUri, {useNewUrlParser: true}, () => { console.log('mongoose connected.')
import mongoose from 'mongoose'
const DBUri = "blah";
const connectDatabase = (): void => {
try {
mongoose.connect(DBUri, {useNewUrlParser: true}, () => {
console.log('mongoose connected.')
})
} catch (e) {
console.log(e);
throw e
}
};
connectDatabase()
当我编译成js并执行该文件时,我将mongoose connected
登录到控制台。但是我希望抛出一个错误(因为DBUri
被破坏)
我做错了什么?根据Mongoose文档,您应该在回调中捕获一个
错误
参数:
mongoose.connect(DBUri, {useNewUrlParser: true}, (err) => {
if(err) return console.log('mongoose failed to connect.')
console.log('mongoose connected.')
});
此外,您的try..catch
是多余的,因为您已经通过该回调将错误处理传递给Mongoose
通过这些事件,您会发现您的错误或断开连接
try {
mongoose.connect(DBUri, {useNewUrlParser: true}, () => {
console.log('mongoose connected.')
})
mongoose.connection.on('disconnected', () => { console.log("Disconnect") });
mongoose.connection.on('error', (error) => {
console.error('[error]: ', error);
});
} catch (e) {
console.log(e);
throw e
}