java基础之异常处理

简述

定义:编译或运行时期发生的不正常情况。描述不正常情况的类,就称为异常类。在异常类中,子类名均以父类作为后缀,阅读性较强。

.

异常体系:

  • error::一般不可处理的。 是由jvm运行时抛出的严重性的问题,一般不针对性处理,要直接修改程序。
    Exception:可以处理的。

Exception中的分类

  • 编译时异常:Exception及其子类(RuntimeException及其子类除外)。编译时即检测发现,可得到快速的针对性处理
    运行时异常:RuntimeException及其子类。编译通过,运行时程序被强制停止,让调用者修正代码。

Throwable、throws、throw:

  • Throwable: 可抛的,指问题发生可以抛出,让调用者知道并处理。该接口的子类均具有可抛性,其可抛性通过throws、throw来体现。
    throws: 在函数上使用,指明抛出的异常类,可抛出多个(用逗号隔开);
    throw : 在函数内使用,抛出的是异常对象

自定义异常:继承

异常的捕捉和处理

格式:

try
{
    //需要被检测异常的代码。
}
catch(异常类 变量)//该变量用于接收发生的异常对象
{
    //处理异常的代码。
}
finally
{
    //一定会被执行的代码,多用于关闭资源,如无资源需要关闭,可不写此代码块。
}

格式的几个变化:


try catch finally

try catch(多个):当没有必要资源需要释放时,可以不用定义finallytry finally :异常无法直接catch处理,但是资源需要关闭。

处理的原则:

  • 1、函数内如果有需要检测的异常,那么要么在内部用try-catch处理,要么抛出(throw),并在函数上声明(throws)该异常类。(RunTimeException除外,内部未处理,在函数上也无需声明)

    2、如果一个语句调用了声明异常的函数,同情况1,要么try-catch处理,要么抛出。

    3、异常内容可以自己处理时,可try-catch处理,解决不了时 ,抛出,在函数上声明,让调用者处理。

    4、一个功能内多个异常,调用时必须对应多个try进行捕捉,并多个catch进行针对性的处理。

    5、子类覆盖父类方法时,父类方法如果抛出了异常,子类的方法只能抛出父类的异常或该异常的子类

    6、父类如果抛出多个异常,子类只能抛出该异常的子集,父类没有抛出异常,子类也就不能抛出。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值