亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【金秋打卡】第12天 《Node.js+Koa2+MySQL 打造前后端分離精品項目》

课程名称:Node.js+Koa2+MySQL打造前后端分离精品项目《旧岛》

课程章节:第4章【深入浅出讲异常】异步异常与全局异常处理

视频:4-2 异常理论与异常链

课程讲师: 七月


课程内容:

这节课是异常处理的基础理论课

语法上的异常处理并不等同于异常处理的应用。


调用函数后,可能的两种结果:

  1. 没有发生异常 正确返回结果(包括返回undefind)

  2. 发生了异常,


函数设计

判断出现异常,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语言搞笑图。确实很搞笑。

这节课是基础,为后面更复杂的逻辑做一个铺垫。



七月老师非常注重在讲编程知识的同时,讲编程思维,讲知识和知识之间的关系。编程是实践性非常强的工作,学习知识最好的方法是放到项目中。做项目的目的不是做项目,最终要做出来自己的项目,业务承载的是编程知识。明天继续刷后边的课程。


https://img3.sycdn.imooc.com/6365237a00011d8411350637.jpg


https://img4.sycdn.imooc.com/636525270001a02509861108.jpg

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消