知识点总结之异常:

1:异常和错误都是Throwable的子类

2:异常的处理方式
首先是虚拟机检测到异常,然后创建异常对象并抛出,
然后抛给调用者,调用者没有对应异常的处理,所以,又抛给了main方法;
main方法中也没有处理的方法,抛给虚拟机JVM,然后虚拟机就会做两个处理,在控制台打印错误信息的位置,终止程序的运行
在这里插入图片描述
3:关键字throw
在这里插入图片描述

4:关键字throws,方法内部有异常,需要告诉外面,内部抛出什么异常,就使用throws告诉外界什么异常。
在这里插入图片描述
5:通过throw抛出异常对象之后,然后在方法声明时通过throws告诉外界的调用者说有问题,然后在调用者main方法上也需要使用throws告诉main的调用者JVM说我自己有问题;最后虚拟机把异常信息打印在控制台上,并终止程序的运行。
在这里插入图片描述

上面的处理方式也属于一种吧,是虚拟机自己的处理方式。

6:异常的另一种处理方式
在这里插入图片描述
使用try,catch进行处理,然后打印出异常信息,最后控制台执行,并执行完程序。
在这里插入图片描述

具体的实行过程如下,注意发生异常之后开始跳转到catch;

在这里插入图片描述
7:多个catch的时候需要注意的,同一个方法中抛出的异常包含有继承关系的异常时候,子类异常需要写在前面;
在这里插入图片描述
在这里插入图片描述
8:关键字finally:之后的代码必须执行,用于后续释放操作系统的资源;
在这里插入图片描述
下面的代码表示的是不可以执行,
在这里插入图片描述
9:在main方法中调用抛出异常的方法时,需要用try,catch捕获异常,而不是自己也通过throws抛出异常,因为如果一直这样做的话,会导致程序终止。
10:异常分为编译异常和运行时异常,运行时异常在使用throw抛出时候,是不需要使用throws来声明的。
在这里插入图片描述
11:空指针异常也是一种运行时异常;运行时异常都需要我们使用throw抛出异常,且在方法开始不需要使用throws声明main方法中调用也不需要使用try catch来捕获异常。
在这里插入图片描述
12“继承中的异常,父类抛出了异常,子类可以不抛出,如果抛出的话小于等于父类抛出的异常;父类不抛出异常,子类一定不可以抛出异常,如果子类方法中调用了抛出异常的方法,那么只能通过trycatch进行处理
在这里插入图片描述
13:Throwable中的三个方法
在这里插入图片描述
14:自定义异常
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值