Java中的异常(Exception)

异常的分类

异常分为编译时异常和运行时异常

编译时异常

在编译时发生的异常,叫做编译时异常,也称为受检查异常
在这里插入图片描述
在这里插入图片描述
CloneNotSupportedException就是一个编译时异常
编译时异常编译时我们就能发现,必须对其进行捕获或声明以便抛出

运行时异常

在执行程序时发生的异常,称为运行时异常,也叫非受检查异常
在这里插入图片描述
在这里插入图片描述

NullPointerException空指针异常
在这里插入图片描述
在这里插入图片描述
运行时异常我们不进行处理,JVM会帮我们处理

注意:语法错误不能称为异常

异常体系结构

在这里插入图片描述

  1. Throwable 有两个子类 Error 和 Exception
  2. Exception 异常分为编译时异常和运行时异常,运行时异常要继承RuntimeException
  3. Error:指的是Java虚拟机无法解决的严重问题,比如:JVM的内部错误、资源耗尽等,典型代表:
    StackOverflowError和OutOfMemoryError,一旦发生回力乏术。

异常处理

throw 抛出异常

通过throw我们可以主动抛出异常

语法格式:
throw new 异常类型(“提示信息”);

在这里插入图片描述在这里插入图片描述

  1. 异常抛出后,后序代码不执行
  2. 抛出的对象必须是 Exception 或 Exception子类对象
  3. 如果抛出的是编译时异常,可以不处理,JVM会处理
  4. 如果抛出的是编译时异常,我们必须处理,否则无法通过编译

在这里插入图片描述
try catch捕获处理异常

在这里插入图片描述
throws 声明异常,交给方法的调用者处理
在这里插入图片描述

throws 声明异常

当前方法不捕获处理异常时,可以通过throws声明异常,来提醒调用者。
主要用与声明编译时异常,因为运行时异常我们不处理JVM也会帮我们处理,而编译时异常必须我们进行处理。

语法格式:
修饰符 返回值类型 方法名(参数列表)throws 异常类型1,异常类型2…{

}

  1. 如果声明抛出的多个异常具有父子类关系,可以只声明父类异常
  2. 如果声明的是编译时异常,方法的调用者必须捕获处理或throws继续声明抛出

在这里插入图片描述
try catch 捕获处理
在这里插入图片描述
方法调用者继续声明抛出

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值