异常枚举;

1.异常:程序运行中意外发生的情况

2.除法运算

例子:

程序出现异常后会停止运行

javascript 复制代码
function chu(num1: number, num2: number) {
    if (num2 == 0) {
        //抛出异常
        throw new Error('除数不能为零')
    }
    let num: number = num1 / num2
    console.log(num);
}

3.捕获异常

javascript 复制代码
try {//尝试执行有可能有异常的代码块
    chu(1, 0)
} catch (error) {//对异常进行处理
    //error 出现的错误
    //console.log(error);
}
chu(1, 1)

练习:

1.模拟在文本框输入一个考试成绩,并分级

javascript 复制代码
let num3: string = 'asd34.5'
function getNum(num: string): number {
    if (parseFloat(num)) {
        return parseFloat(num)
    } else {
        throw new Error('必须输入数字')
    }
}

2.主动捕获异常

javascript 复制代码
try {
    if (getNum(num3) > 60) {
        console.log('及格');

    } else {
        console.log('不及格');
    }
} catch (err) {
    console.log('不及格');
}

3.模拟输入一个年龄,输完年龄之后,提示输入成功

不管是不是出现异常,都需要提示输入成功

例子:

javascript 复制代码
let num: string = '12'
//转化年龄
function getNum1(num: string): number {
    if (parseInt(num)) {
        return parseInt(num)
    } else {
        throw new Error('年龄输入错误')
    }
}
function ts() {
    try {
        console.log('模拟输入的值为' + num);
        let age = getNum(num)
        console.log('年龄是:' + age);

    } catch (error) {

    } finally {
        //异常的最终解决方案
        //finally 无论是否出现异常都要执行
        console.log('输入成功');

    }

}
ts()

异常的处理方式

1.主动捕获异常 try catch finally

try{

有可能出现异常的代码

}catch(error){

对异常的处理

}finally{

无论是否有异常,都会执行代码

}

2.抛出异常

throw new Error('提示词')

例子:

思考 return和finally的执行顺序

先执行finally,然后在执行return

javascript 复制代码
function aa() {
  try {
    //异常代码
    return 123
  } catch (e) {
    return 456
  } finally {
    console.log('asdfghjk');
  }
}
let a=aa();
console.log(a);
相关推荐
软件黑马王子几秒前
3.单例模式问题1:构造函数
开发语言·单例模式·c#
Freak嵌入式7 分钟前
RP2040 PIO 编程模型与状态机原理:从硬件架构到工作逻辑全解析
java·大数据·开发语言·单片机·嵌入式硬件·硬件架构
Java小白笔记29 分钟前
Java中大数据实时归集与指标汇总方案
java·大数据·开发语言
随遇而安zx30 分钟前
【地基篇】---Java 8 JVM 知识大纲
java·开发语言·jvm
Coodor33 分钟前
在前端如何转换IC卡卡号格式
前端·javascript·nfc·卡号格式
软件黑马王子39 分钟前
4.单例模式问题2:重复挂载
开发语言·单例模式·c#
quantdash_cc41 分钟前
批量请求和循环请求有什么区别?从 API 请求次数看量化数据获取的工程设计
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
百慕大三角1 小时前
给 SPA 加页面切换动画:View Transitions API 从入门到实战
前端·javascript
qq_406981031 小时前
大白话rust系列01注释
开发语言·rust
橘子编程1 小时前
Java邮件发送全攻略:从入门到实战
java·开发语言·spring boot·spring·spring cloud·maven