本文主要是介绍2022-7-29 第六组 刘明延 学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
/*异常处理
编程序:
除数为0(不报错,输出为Intintty,无穷大,二进制)
IO流没有关闭
停电
所有计算尽量不要用基本数据类型
当一个程序抛异常,后面的语句不再执行,类似于return的功能
处理异常的一种方式
异常的继承体系结构
最顶级的Throwable(所有错误和异常的父类)
Error:错误,一般情况下不太可能出现的,绝大多数错误都会导致程序处于一个非正常的状态下,基本很难恢复
外力作用下,不考虑,在Java程序处理范围之外
Exception:异常,将程序执行中发生的不正常情况称之为异常
编译期异常:写代码抛异常,代码写得对也报错,生成try...catch解决,如果编译期不解决就一直报错
运行期异常(重点):RuntimeException,平时不报错,运行抛异常
自定义异常:Java中异常机制完善,但是结合实际业务:如年龄:-1
怎么自定义一个异常:
1.所有的异常必须是Throwable的子类,但是有点大材小用,没必要
2.如果要定义一个编译期异常,需要继承一个Exception类
3.如果要定义一个运行期异常,需要继承RuntimeException
在一个语句块中,如果使用Throw抛出一个编译期异常,就必须在方法的声明处使用throws关键字
来标记类型
我们为什么要主动抛异常,因为要配合全局异常处理机制来解决问题
在一个有返回值的方法中,如果有条件分支,一定要保证每种情况都有返回值,即使用异常代替
开发中大部分使用的都是运行期异常
重写的方法不能抛出比被重写更大的异常
//异常链
//一个异常被抛出去程序继续走,如果继续调用这个异常的方法让它被捕获或抛出,异常会扩散,下面都出错,连锁反应
//只要解决异常,处理异常,就是try...catch
//finally 关键字
//finally用来创建在try代码块后面执行的代码块
//无论是否发生异常,finally代码块中的代码一定会执行,一般finally
//try...catch...finally...
//顺序 try>finally>return
//如果一个方法没有捕获一个编译期异常,该方法必须使用throws声明(thorows是不负责任的)
//出现异常要么try...catch,要么抛给下一级
//主方法就不要继续抛异常了,再抛就给JVM
//service层:干脏活累活
//throws出现在声明处,可以用,隔开抛多个异常
学习心得:异常处理,我认为它的用法是是自己设规则让Java代码更贴合实际业务,如年龄为负,可设置异常
学习感受:这周要结束了,api调用很不熟练,有点复杂,有时候不知道用哪个,其他还好
这篇关于2022-7-29 第六组 刘明延 学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!