异常枚举;

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 分钟前
从零开始:使用 Ollama 在本地部署开源大模型并集成到 React 应用
前端·javascript·ollama
superman超哥10 分钟前
双端迭代器(DoubleEndedIterator):Rust双向遍历的优雅实现
开发语言·后端·rust·双端迭代器·rust双向遍历
德育处主任12 分钟前
『NAS』在群晖部署图片压缩工具-Squoosh
前端·javascript·docker
Jayden_Ruan19 分钟前
C++蛇形方阵
开发语言·c++·算法
心.c35 分钟前
如何基于 RAG 技术,搭建一个专属的智能 Agent 平台
开发语言·前端·vue.js
智航GIS1 小时前
10.7 pyspider 库入门
开发语言·前端·python
跟着珅聪学java1 小时前
JavaScript 底层原理
java·开发语言
项目題供诗1 小时前
C语言基础(二)
c语言·开发语言
J_liaty1 小时前
RabbitMQ面试题终极指南
开发语言·后端·面试·rabbitmq