微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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); //可以捕获到异常 }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐