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.