异常细节说明

                                                    异常结构图                      

 异常顶级父类是:Thorwable    它的两个子类是:Error   Exception(中文译为异常)

Exception的两个子类为:编译异常和运行异常

编辑异常的核心为:提醒程序员检查本地编译错误

运行异常的核心为:注意由参数错误引起的问题

编辑异常为:处RuntinmeException以及RuntinmeException的子类以外的异常都叫编辑异常

运行异常为:RuntinmeException以及RuntinmeException的子类以内的异常都叫编辑异常(必须有程序员手动处理)

异常的好处:

1.查询bug的相关信息

2.可作为方法的返回值,告诉调用者底层执行的结果

处理异常的方法:

1.JVM处理:就是程序员不处理异常,而且后来接受项目的程序员也不想处理,最后只好JAVA中的JVM进行处理,有一点不好的是如果有异常代码的后面还有代码,那么后面这一部分的代码就不会运行了

2.使用try------cash捕获处理:与第一种相比当成功捕获异常后,异常后面的代码还是会运行,try------cash的底层会在try中创建异常对象拿去与cash中的异常比较,如果一样就捕捉成功。但这种异常的处理又分四种情况:1.如果try中只存在一个异常且被成功捕获,那么try中的代码会完整的运行 2.如果try中有多个异常,那么就有两种解决方案,一种就是一个一个的去捕捉或者一次性捕捉。一个一个的去捕捉需要创建多个cash且要学写对每种异常对应的异常报错的异常名称,try中的代码也会完整的执行;一次性捕捉就只要创建一次cash,cash中写Exception e就行,try中的代码也会完整的执行3.如果try中的异常没有被捕获,那么代码就会停止运行4.如果try中异常没有捕捉成功且异常代码的下面还有代码,那么异常代码下面的代码就不会运行。

3.异常抛出:需要用的两个关键字throw和throws,前者是会返回一个异常对象告诉调用者方法运行失败的原因,后者是告诉调用者调用方法运行可能失败的原因(在运行异常中不用写出),这种方式经常会和自定义异常一起使用。

自定义异常:是指的是不符合业务需求代码。就比如说一个业务规定人的名字不能超过2个字符,那么你在调用者输入自己名字字符的时候就会加入一个if判断,但是这种判断的结果时返回在控制台,而调用者并不知道自己的名字为什么录入不进去,这是你就需要用到抛出异常,将原因返回给调用者,但这种字符长度的错误并不是Java的编辑异常和自带的运行异常,而是业务的要求导致,而Java中的异常又无法表示你这种异常,所以你要增加一个能够表示这种情况的异常,创建一个新的异常名字要见名知意,要有空参构造和有参构造,因为符合运行异常的核心所以要继承Exception

场景使用:

     在平时的业务之中一般就是try------cash加异常抛出加自定义异常

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值