Java异常分类及处理

异常分类

在这里插入图片描述
Throwable: 在Java中,Throwable是所有异常的根基类,直接从Object继承而来,只有Throwable类型的实例才可以被抛出(throw)或者捕获(catch)。它有两个子类:ErrorException
Error: java 运行时系统的内部错误和资源耗尽错误,如虚拟机崩溃等。通过应用程序无法解决,应用程序不会抛出该类对象。
Exception: 应用程序想要捕获的异常。Exception又分为两类,RuntimeExceptionCheckedException
RuntimeException:运行时异常,又称不受检异常编译期间不强制要求处理。是那些可能在Java虚拟机正常运行期间抛出的异常。是程序代码书写导致的错误。比如,事先检查数组元素下标保证其不超出数组长度,ArrayIndexOutOfBoundsException异常就不会抛出;再如,先检查并确保一个引用类型变量值不为NULL,然后再访问其属性和方法,那么,NullPointException异常就不会抛出。
CheckedException: 受检异常,即程序在运行时由于外界因素造成的一般性异常。Java编译器强制要求处理。会出现要求你把这段可能出现异常的程序进行 try catch或者继续 throws

自定义异常类

我们有时可能需要定义自己的异常类来处理某些问题,比如想要将异常信息封装成特定的格式再抛出。这种情况下,我们只要定义一个或直接或间接继承Throwable的类就可以了。通常自定义的异常类都选择Exception作为父类。直接继承自Exception的异常类属于受检异常,所以编译期间强制进行处理。

异常的处理

处理

将可能出现异常的程序段进行 try catch

不处理

遇到异常不进行具体处理,而是继续向上层抛出(throws)

throw和throws的区别

throw 用在函数内,后面跟的是异常对象。当程序执行到throw功能就已经结束了,跳转到调用者并把具体的问题对象抛给调用者。
throws 用在函数上,后面跟的是异常类,可以跟多个。用来声明异常,让调用者知道该函数可能会出现的问题。表示出现异常的一种可能性,并不一定会发生这些异常。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

三毛村滴雪鱼粉

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

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

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

打赏作者

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

抵扣说明:

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

余额充值