第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從 MongoDB 正確捕獲異常?

如何從 MongoDB 正確捕獲異常?

寶慕林4294392 2021-11-04 10:33:14
問題如果它在 MongoClients函數(shù)內(nèi),我try不會catch出錯connect環(huán)境Linux (Mint, Tessa)Node.js v10.16.0(使用 ES6 和nodemon)MongoClient(來自 mongodb npm 存儲庫)例子如果我試試這個:try {    throw new Error('This is error');} catch(e) {    console.log(`Catched: ${e}`);}我得到了干凈的出口(很好 - 工作)Catched: Error: This is error[nodemon] clean exit - waiting for changes before restart但這不起作用如果我在 MongoDB 的連接函數(shù)中嘗試:try {   MongoClient.connect(config.url, config.options, (err, db) => {      if (err) { throw new Error('This is error'); }   });} catch (err) {   console.log(`Catched: ${e}`);}我的應(yīng)用程序崩潰了Error: This is error[nodemon] app crashed - waiting for file changes before starting...所以這意味著它沒有捕捉到我的異常。
查看完整描述

1 回答

?
www說

TA貢獻(xiàn)1775條經(jīng)驗 獲得超8個贊

嘗試這個


try {

   let db = await MongoClient.connect(config.url, config.options);

} catch (err) {

   console.log(`Catched: ${err}`);

}

async-await/sequential如果您想讓 try catch 工作,請嘗試以風(fēng)格編寫代碼。


在這里你可以看到你err在回調(diào)中得到第一個參數(shù),為什么它會去 catch 塊?func1().then().catch()樣式代碼也會發(fā)生同樣的事情。


注意:如果要使用 await,請在函數(shù)名稱前使用 async 關(guān)鍵字。


例如:


async function test() {

   try {

   let db = await MongoClient.connect(config.url, config.options);

} catch (err) {

   console.log(`Catched: ${err}`);

}


MongoClient.connect(config.url, config.options, (err, db) => {

      if (err) { throw new Error('This is error'); }

   });


查看完整回答
反對 回復(fù) 2021-11-04
  • 1 回答
  • 0 關(guān)注
  • 363 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號