当前位置:网站首页>2022-07-29 第四小组 修身课 学习笔记(every day)
2022-07-29 第四小组 修身课 学习笔记(every day)
2022-07-30 03:18:00 【修身课】
编程界:
1.除数为0
2.IO流,没有关闭
3.停电
异常
当一个程序抛出异常时,抛异常后面的语句不在执行,类似于return的功能
终止方法的执行
异常的继承体系结构
最顶级的throwable:错误、异常
Error:正常情况下,不太可能出现的,绝大多数Error都会导致程序处于非正常的状态下,很难恢复
Error是Throwable的子类,它是在Java程序处理范围之外的
Exception:Java语言中,将程序执行中发生的不正常的情况称之为异常。
编译器异常:写代码的时候,抛异常,如果编译器不解决,会编译不通过,一直爆红
运行期异常:RuntimeException,运行时会抛异常,平时没事
自定义异常
Java中异常机制,但是结合实际的业务
怎么自定义异常:
1.所有的异常必须是Throwable的子类。(大材小用)
2.所有异常,如果要定义一个编译器异常,需要继承Exception类
3.如果要定义一个运行期异常,需要继承RuntimeException
我们为什么要手动抛异常?
因为要配合全局异常处理机制来解决问题
throw语句是可以当做方法的返回值的
在一个有返回值的方法中,如果有条件分支,一定要保证每种情况下都有返回值,哪怕是抛异常。
开发中,大部分情况下使用的都是运行期异常
异常链
一个异常被抛出去之后会继续被调用这个方法的方法捕获或抛出,异常会扩散
只要说解决异常、处理异常、捕获异常就是try ... catch
throws
如果一个方法没有捕获一个编译期异常,该方法必须使用throws来声明
(1)在方法里直接try ... catch解决
(2)在方法里抛异常给主函数,在主函数里try ... catch解决
规定:主方法里不允许继续往下抛异常
throws并不是真正的解决了异常,只是把异常抛给了下一级调用者。
面试题:throws和throw的区别
throws出现在方法的声明处,可以抛出多个异常(用逗号隔开)
finally关键字:
finally用来创建在try代码块后面执行的代码块
无论是否发生异常,finally代码块中的代码一定会执行。一班finally中的代码都是用来释放资源的。
Finally无论是否出现异常,都会执行
面试题01:try ... catch、finally执行顺序
finally永远是在最后执行的
如果在try ... catch语句中有return,
catch可以写多个异常(可以捕获多个异常)
顺序问题:先写小的,再写大的
重写的另一个规则:重写的方法不能抛出比被重写方法更大的异常类型
边栏推荐
- [C Supplement] Conversion of Integer to String
- Ansible简介(详细)特性+优点+设计理念+应用领域+系统架构+工作原理+任务执行流程
- Dell's first pure soft product redefines next-generation object storage
- 华宝新能通过注册:拟募资近7亿 营收增加利润反而下降
- 1050 graphics card, why is the graphics card usage ranking on Steam always the top five
- 答对这3个面试问题,薪资直涨20K
- VMware磁盘扩容记录
- Successfully resolved pydotplus.graphviz.InvocationException: GraphViz's executables not found
- MySQL之数据查询(分类汇总与排序)
- JUC(五):共享带来的问题
猜你喜欢
随机推荐
golang的channel实现原理
【SQL】按某个关联列用一张表的数据更新另一张表
复合类型--引用,指针
SQL Server中如何在date类型中提取年、月、日数据
单片机没有随机数发生器如何生成随机数——2022.07.26
MyCat中对分库分表、ER表、全局表、分片规则、全局序列等的实现与基本使用操作
[C Supplement] Conversion of Integer to String
B. Different Divisors- Codeforces Round #696 (Div. 2)
解决导航栏变黑色
机器学习(十五)异常检测
JUC(六):synchronized
开放地址法哈希实现——线性探测法
Leetcode.24 两两交换链表中的节点(递归)
JS history.back() go(-1) Location 跳转 重新加载页面 get请求 返回顶部 bom
un7.29: How to install and configure redis in Linux-centos?
leetcode每天5题-Day01
Overview of Federated Learning (2) - Classification, Framework and Future Research Directions of Federated Learning
The box office broke 790 million US dollars. Have you watched this recent dinosaur movie?
Open address method hash implementation - secondary detection method
判断Object是否依赖于名叫“XX“的资产









