JAVA异常知识点总结

1、Java异常的体系结构

 

Error类:表示仅靠程序本身无法恢复的严重错误,如内存溢出、动态链接失败、虚拟机错误等

Exception类:由Java应用程序抛出和处理的非严重错误,如文件找不到、网络链接不通、数组下表越界等;Exception又分为Checked Exception和RuntimeException

                      RuntimeException:包括RuntimeException以及其所有子类,不要求程序对他们一定要进行处理(通俗地讲就是编译这关没问题)

                     CheckedException:处理运行时异常的其他异常,在编译时,要么在方法声明时抛出异常,要么用try-catch语句块处理

2、Java异常处理的五个关键字try catch finally throw throws

try:用于捕捉异常

catch:配合try进行异常处理

finally:不管异常是否发生都要执行的代码块

throw:在方法内部抛出异常,只能抛出一个异常

throws:在方法申明时抛出异常,可以抛出多个异常

以下几点是需要注意的:

1:try是用来配合catch或者finally一起执行的,不能单独使用!(通俗地讲一共3种形式:try-catch或者try-finally或者try-catch-finally)

2:try捕捉异常,如果有异常发生,进入catch模块进行处理,执行finally语句

          try捕捉异常,如果有异常没有发生,执行finally语句

          try捕捉异常,如果有异常发生,进入catch模块进行处理,如果catch有return,在return前执行执行finally语句

          try捕捉异常,如果有异常没有发生且有return,在return前执行执行finally语句

          try捕捉异常,如果有异常发生,进入catch模块进行处理,如果catch中调用System.exit(1)退出jvm,不执行finally语句

3:在处理异常时,catch里面的异常要么是正好匹配,要么是异常的父类

4:catch的顺序是,如果是平级顺序无所谓,但子类异常不能在父类异常的后面

3、自定义异常和异常链

自定义异常:继承Exception或者RuntimeExcption,可以根据实际情况对异常处理,增强程序的健壮性

异常链:如果a方法调用b方法,b方法抛出异常,那么a是抛出原有异常还是新的异常,jdk1.4提供了异常链来解决这个问题,虽然创建了新异常,但却保留了原有的异常

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值