JAVA-异常类

0.前言:

        异常分为自定义异常和非自定义异常也就是java写好的异常,今天我们说的是java写好的异常,因为写好的异常也分为很多种,但是总的根异常为Throwable类

而下面分为两大类,Error(无法通过程序解决的的问题,不能使程序继续运行),Exception(可以通过程序解决的问题,可以使程序继续运行)。Exception下面又可以分为:运行时异常,和编译时异常。

1.编译型异常:

        当出现编译时异常的时候必须立刻处理或者抛出异常交给调用者处理。

立即处理:

throws声明异常交给调用者:

main方法没处理的话那么可以继续交给上面调用者:

2.运行时异常:

        如果没处理会交给jvm虚拟机处理。

3.解决Exception异常:

        3.1:自己解决:

        程序停止:

        程序继续执行:

        通过try检测异常catch捕捉异常,处理异常。

4.finally:

        不管有没有异常程序都会执行里面的代码,有异常也会执行里面的代码。

        有异常:

        没异常:

5.throw抛出异常:

        一般throw是用与抛出自定义类型的异常,抛出可以告诉调用者一些错误信息。

    

        抛出异常后面代码不能继续执行了:

throw异常抛出注意:

1. throw必须写在方法体内部

2. 抛出的对象必须是Exception 或者 Exception 的子类对象

3. 如果抛出的是 RunTimeException 或者 RunTimeException 的子类,则可以不用处理,直接交给JVM来处理

4. 如果抛出的是编译时异常,用户必须处理,否则无法通过编译

5. 抛出异常后后面的代码不执行。

6.总结:

        程序先执行 try 中的代码

        如果 try 中的代码出现异常, 就会结束 try 中的代码, 看和 catch 中的异常类型是否匹配.

        如果找到匹配的异常类型, 就会执行 catch 中的代码 如果没有找到匹配的异常类型, 就会将异常向上传递到上层调用者.

        无论是否找到匹配的异常类型, finally 中的代码都会被执行到(在该方法结束之前执行).

        如果上层调用者也没有处理的了异常, 就继续向上传递. 一直到 main 方法也没有合适的代码处理异常, 就会交给 JVM 来进行处理, 此时程序就会异常终止.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aang丶江辞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值