NodeJS - 事件程式碼中的異常處理


異常是一種事件型別,該事件在執行或執行程式時發生,導致該程式的正常流程停止並返回系統。當發生異常時,方法建立一個物件並將其提供給執行時系統。這種建立異常並將其提供給執行時系統稱為丟擲異常

我們需要處理這些異常來處理任何用例,並防止系統崩潰或執行前所未有的指令集。如果我們不處理或丟擲異常,則程式可能會出現異常行為。

同步程式中的異常處理

此處,我們將學習如何在事件流中處理異常。在事件流中,錯誤可能會在任何地方發生。因此,你需要觸發錯誤事件,而不是丟擲錯誤。

示例

// Definite our Divide Number Event
var events = require("events")
var DivideNumber = function(){
   events.EventEmitter.call(this)
}
require('util').inherits(DivideNumber, events.EventEmitter)

// Add the divide function
DivideNumber.prototype.divide = function(x, y){
   // if error condition occurs ?
   if ( y === 0 ) {
      // "throw" the error safely by emitting it
      var err = new Error("Can't divide by zero")
      this.emit("error", err)
   } else {
      // If No error occurrs, return the result
      this.emit("Number divided", x, y, x/y)
   }

   // Return the event chain
   return this;
}

// Create our divider and listen for errors
var divideNo = new DivideNumber()
divideNo.on('error', function(err){
   // handle the error safely
   console.log(err)
})
divideNo.on('Number divided', function(x, y, result){
   console.log(x+"/"+y+"="+result)
})

// Dividing the number
divideNo.divide(10, 5).divide(10, 0)

輸出

更新於: 28-4-2021

300 次瀏覽

開啟您的 職業生涯

透過完成課程獲取認證

開始學習
廣告
© . All rights reserved.