Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript nodejs-mongoose没有抛出带有损坏Uri的错误_Javascript_Node.js_Mongoose - Fatal编程技术网

Javascript nodejs-mongoose没有抛出带有损坏Uri的错误

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.')

我的index.ts文件中有以下代码:

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
   }