【金秋打卡】第12天 《Node.js+Koa2+MySQL 打造前后端分離精品項目》
课程名称:Node.js+Koa2+MySQL打造前后端分离精品项目《旧岛》
课程章节:第4章【深入浅出讲异常】异步异常与全局异常处理
视频:4-2 异常理论与异常链
课程讲师: 七月
课程内容:
这节课是异常处理的基础理论课
语法上的异常处理并不等同于异常处理的应用。
调用函数后,可能的两种结果:
没有发生异常 正确返回结果(包括返回undefind)
发生了异常,
函数设计
判断出现异常,return false 或者return null
或者throw new Error
编程规范中,如果出现异常,应该throw 抛出异常
javascript搞笑图,在公司面试时可能会问到。
//版本1
function func1() {
func2()
}
function func2() {
const r = func3()
if (!r) {
}
}
function func3() {
return false
}
//func3返回false即为异常, func2用if进行判断//版本2
function func1() {
func2()
}
function func2() {
try {
func3()
} catch (error) {
}
}
function func3() {
try {
1/0
} catch (error) {
throw error
}
}console.log(func3())
function func3(){
try{
1/0
} catch (error) {
throw error
}
return 'success'
}
执行后,返回success
try中的代码没有引发异常,是javascript语言设计时的问题。
javascript中 1/0不是非法的。不会报错, 会得到 Infinity
0/a 当a未定义的时候,会出现异常//改造之后的
function func1() {
try {
func2()
} catch (error) {
throw error
}
}
function func2() {
try {
func3()
} catch (error) {
throw error
}
}
function func3() {
try{
0/a
} catch (error) {
throw error
}
return 'success'
}需要设计一个机制,监听到任何异常。
课程收获:
七月老师把这节课当做异常处理的基础理论课来讲。七月老师还介绍了一张javascript语言搞笑图。确实很搞笑。
这节课是基础,为后面更复杂的逻辑做一个铺垫。
七月老师非常注重在讲编程知识的同时,讲编程思维,讲知识和知识之间的关系。编程是实践性非常强的工作,学习知识最好的方法是放到项目中。做项目的目的不是做项目,最终要做出来自己的项目,业务承载的是编程知识。明天继续刷后边的课程。
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦

