码迷,mamicode.com
首页 > 其他好文 > 详细

node的异常处理

时间:2017-07-15 22:50:12      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:ror   class   strong   nbsp   adf   message   单线程   test   异常处理   

  Node是单线程运行环境,一旦抛出的异常没有被捕获,就会引起整个进程的崩溃。所以,Node的异常处理对于保证系统的稳定运行非常重要。

node的处理方法:

1、使用throw语句抛出异常

常用的捕获异常方式,结构无法捕获异步运行的代码抛出的异常。

try{
     throw "我是一个自定义的错误";
}catch(err){
    console.log(err);
}

//异步
try{
    setTimeout(()=> {
    	throw "我是一个自定义的错误";
    },0);
}catch(err){
	console.log(err);
}

  

2、回调函数

  将错误对象作为第一个参数,传入回调函数。这样就避免了捕获代码与发生错误的代码不在同一个时间段的问题。

let fs =  require(‘fs‘);
fs.readFile(‘/test.txt‘, (err, data) =>{
  if (err !== null) throw err;
  console.log(data);
});

  

3、通过EventEmitter接口,发出一个error事件。

var EventEmitter = require(‘events‘).EventEmitter;
var emitter = new EventEmitter();

emitter.emit(‘error‘, new Error(‘something bad happened‘));

emitter.on(‘error‘, function(err) {
  console.error(‘出错:‘ + err.message);
});

  

 

  

node的异常处理

标签:ror   class   strong   nbsp   adf   message   单线程   test   异常处理   

原文地址:http://www.cnblogs.com/leaf930814/p/7184872.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!