java异常的概述和体系机构

在我们写代码的时候,经常的出现一些小问题,那么为了方便我们处理这些问题,java为我们提供了异常机制。
异常包含了错误的类型,原因以及位置。
异常:不正常,我们在代码的时候出现的编译或者运行时的错误。
异常的体系结构:
Throwable(最顶层)

  1. Error:出现的不能够处理的严重问题。
  2. Exception:可以处理的一些问题。

异常的处理方式:

  1. 捕获处理:try…cath语句
    格式:
    try{
    有可能出现问题的代码;
    }catch(){
    处理异常;
    }
    try…catch的执行顺序:
    首先执行try语句
    如果发现异常,异常下面的代码不在执行,直接跳入跳入catch语句中。catch语句结束后,整个try…catch结束。
    如果没有发现异常,try语句执行结束后,try…catch直接结束,不在执行catch语句
  2. 抛出去 :
    当我们不想处理异常,或者没有能力处理异常的时候,我们可以选择抛出异常,谁调用方法谁处理异常。
    使用关键字throws在方法的声明出抛出异常
    jvm处理异常的方式:
    1 如果出现异常我们没有处理,jvm会帮我们进行处理。它会把异常的类型,原因还有位置显示在命令行,并且还终止了程序,异常后面的代码将不会在执行。
    如何处理多个异常:
    1 可以使用多个try…catch语句
    2使用一个try和多个catch
    多个catch之间的顺序:
    (1)多个catch之间可以有子父类
    (2)平级之间没有顺序关系
    ` (3)如果有子父类,父类异常必须放在后面
    Throwable的常用方法:
    (1)String getMessage()原因
    (2)String toString()类型和原因
    (3)void printStackTrace()类型原因和位置
    finally: 组合try…catch使用,用于释放资源等收尾工作,无论try…catch语句如何执行,finally的代码一定会执行
    格式:
try( ){
有可能出现问题的代码;
}catch(异常对象){
}finally{
释放资源
清理垃圾
}

异常的分类:
(1)运行时期异常
RuntimeException的子类就是运行时期异常,在编译时期可以自由选择处理或者不处理。
(2)编译时期异常
是Exception的子类,非RuntimeException的子类在编译时期必须处理

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值