异常处理
什么是异常?
计算机不能处理的状况称之为异常.-
异步异常对象和被try catch捕获的对象是一样的。
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' access:ENOENT: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); //可以捕获到异常 }