Node.js异常处理

异常处理

  • 什么是异常?
    计算机不能处理的状况称之为异常.

  • 异步异常对象和被try catch捕获的对象是一样的。

    • 不会影响下面代码的执行。
    • 错误里面的信息是堆栈信息。

      这里写图片描述

    • 可以给error对象设置一个code属性,便于我们自己对错误的管理。
var err = new Error('错误对象信息');
    err.code = 100;
    err.namename = '链接超市';
    console.log(err);
    console.log(err.code);
    console.log(err.namename);

这里写图片描述

  • throw抛出异常,导致后面代码无法执行

  • try catch 只能捕获同步异常

try {
  fs.accessSync('./02sfdasdfio.js');
} catch (err) {
  console.log("1"+err); 
}

access(异步)与accessSync(同步)测试try…catch

fs.access('hhaa.js',(err,data)=>{ if(err) { //throw err; console.log("access"+ err); } console.log(data); }) try{ fs.accessSync('hhaa.js'); }catch(err){ console.log("accessSync:"+ err); } //执行结果: accessSync:ENOENT:no such file or directory,access 'G:\hhaa.js' accessENOENT:no such file or directory,access 'G:\hhaa.js'

注意:try…catch只能捕获同步代码的异常:

//示例1
    try{
        fs.access('hhaa.js',data)=>{ if(err) { throw err; } console.log(data); }) }catch(err){ console.log(111); //捕获不到异常 } //示例2 fs.access('hhaa.js',data)=>{ try{ if(err){ throw err; } }catch(error){ console.log(111);//可以捕获到异常 } }) //示例3 try{ fs.accessSync('hhaa.js'); }catch(err){ console.log("accessSync:"+ err); //可以捕获到异常 }

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...