zoukankan      html  css  js  c++  java
  • node的异常处理

      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);
    });
    

      

      

  • 相关阅读:
    ThinkPHP5.1 行为与钩子
    PHP 商品秒杀抢购业务流程
    MySQL 读写分离
    Redis 管道
    Redis 事务
    Redis 锁机制
    ThinkPHP 实现队列
    MySQL 存储引擎
    分布式唯一ID分配问题
    Lightscape
  • 原文地址:https://www.cnblogs.com/leaf930814/p/7184872.html
Copyright © 2011-2022 走看看