try-catch 与异步操作|学习笔记

简介: 快速学习 try-catch 与异步操作

开发者课程【Node.js 入门与实战:try-catch与异步操作】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/588/detail/8261


try-catch与异步操作


try-catch 与异步操作

1try-catch 的使用

try-catch 用来捕获异常的,当程序发生异常后,如果不使用try-catch来捕获是会崩溃的,也不会继续使用;

try-catch 只能捕获同步操作的异常,对于异物的操作异常,它无法捕获。

用 err code===ENOENT 判断出错,可以直接判断错误号。不要尝试使用 try-catch 来捕获。 

例1、(判断错误号)

var fs = require( 'fs');

fs. write File( -abc.txt', ‘大家早上好! ', 'utf8' ,function (err){if (err) i

consoLe.log('出错了!‘);throw err;

}

console.log( 'ok ');});

执行结果:

大家早上好!

注意:只要前面异常抛出,后面的代码都不会执行。如果代码中出现了当前目录中不存在的目录也会报错。

例2、(用try-catch来捕获)

var fs = require( 'fs');

try {

fs. Write File('./abcd.txt ', '大家早上好! ','utf8', function (err){console.log('ok');

});

catch(e)i

console.log('出错了~'+e)

执行结果:

大家早上好!

但是当代码中有不属于当前目录的东西,用 try-catch 捕获是捕获不成功的。

总结:异步操作,try-catch 是无法捕获异常的

对于异步操作,要通过判断错误号(err. code)来进行出错处理

相关文章
|
8月前
|
前端开发 UED
【面试题】async/await 函数到底要不要加 try catch ?
【面试题】async/await 函数到底要不要加 try catch ?
104 0
|
前端开发
18 # promise 的 finally 方法实现原理
18 # promise 的 finally 方法实现原理
71 0
每日一道面试题之try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?
每日一道面试题之try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?
179 0
|
5月前
|
JavaScript 前端开发 中间件
异步编程中使用 async/await 是否必须包含 try 和 catch 语句以实现错误处理?
异步编程中使用 async/await 是否必须包含 try 和 catch 语句以实现错误处理?
|
前端开发
promise中reject和catch处理上有什么区别
promise中reject和catch处理上有什么区别
184 0
|
8月前
|
前端开发 UED
【面试题】 async/await 函数到底要不要加 try catch ?
【面试题】 async/await 函数到底要不要加 try catch ?
【面试题】 async/await 函数到底要不要加 try catch ?
|
8月前
|
存储 缓存 IDE
细琢磨,try catch finally 执行顺序与返回值
细琢磨,try catch finally 执行顺序与返回值
77 0
|
存储 IDE Java
try catch finally 执行顺序总结
try catch finally 执行顺序总结
137 0
|
前端开发
前端学习案例8-promise-aysnc,await之3
前端学习案例8-promise-aysnc,await之3
79 0
前端学习案例8-promise-aysnc,await之3
|
前端开发
前端学习案例6-promise-aysnc,await之1
前端学习案例6-promise-aysnc,await之1
88 0
前端学习案例6-promise-aysnc,await之1