异常枚举;

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);
相关推荐
I Promise34几秒前
C++ 基础数据结构与 STL 容器详解
开发语言·数据结构·c++
morrisonwu3 分钟前
kafka4.2对应php rdkafka扩展安装以及php的producer和consumer写法及避坑
开发语言·php
Lyyaoo.5 分钟前
【JAVA基础面经】== 和 equals() 的区别
java·开发语言·jvm
报错小能手11 分钟前
ios开发方向——swift并发进阶核心 async/await 详解
开发语言·ios·swift
青花瓷16 分钟前
采用QT下MingW编译opencv4.8.1
开发语言·qt
忆琳16 分钟前
Vue3 全局自动大写转换:一个配置,全站生效
javascript·element
赫瑞25 分钟前
Java中的日期类
java·开发语言
张元清27 分钟前
不用 Server Components 也能做 React 流式 SSR —— 实战指南
前端·javascript·面试
吕司28 分钟前
Linux线程同步
linux·服务器·开发语言
神の愛34 分钟前
java日志功能
java·开发语言·前端