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)来进行出错处理

相关文章
|
前端开发 算法 安全
轻松愉悦的验证方式:实现图片旋转验证功能
轻松愉悦的验证方式:实现图片旋转验证功能
497 0
|
存储 JavaScript 网络安全
nodejs:本地安装nvm实现nodejs多版本管理及切换版本
nodejs:本地安装nvm实现nodejs多版本管理及切换版本
3534 0
|
jenkins Java Devops
【DevOps】Idea 集成 jenkins 插件
【DevOps】Idea 集成 jenkins 插件
2021 0
【DevOps】Idea 集成 jenkins 插件
|
JavaScript 前端开发
阻止事件冒泡与捕获
【10月更文挑战第15天】
|
10月前
|
前端开发 JavaScript
Promise.reject()和throw有什么区别?
Promise.reject()和throw有什么区别?
349 57
|
安全 测试技术 网络安全
缓冲区溢出攻击的防范措施有哪些?
【10月更文挑战第20天】缓冲区溢出攻击的防范需要从编程实践、系统配置、漏洞检测与防护以及安全意识教育等多个方面入手,采取综合的防范措施,才能有效地降低缓冲区溢出攻击的风险,保障计算机系统和网络的安全运行。
|
前端开发 API 开发工具
文件目录规范
规范、整洁的文件目录,让人心情愉悦的同时,还能降低维护的难度,增加项目的可读性。
|
存储 关系型数据库 MySQL
mysql中的left join、right join 、inner join的详细用法
【8月更文挑战第16天】在MySQL中,`INNER JOIN`、`LEFT JOIN`与`RIGHT JOIN`用于连接多表。`INNER JOIN`仅返回两表中匹配的行;`LEFT JOIN`保证左表所有行出现于结果中,右表无匹配时以NULL填充;`RIGHT JOIN`则相反,保证右表所有行出现于结果中。例如,查询学生及其成绩时,`INNER JOIN`仅显示有成绩的学生;`LEFT JOIN`显示所有学生及他们对应的成绩,无成绩者成绩列为空;`RIGHT JOIN`显示所有成绩及对应学生信息,无学生信息的成绩条目则为空。
907 1
|
数据安全/隐私保护 开发者 Python
【Python 基础】检查字符串是否只包含数字和字母?
【5月更文挑战第8天】【Python 基础】检查字符串是否只包含数字和字母?
|
存储 安全 JavaScript
解释 XSS 攻击及其预防措施
【8月更文挑战第31天】
1423 0