Day15总结

异常

开发中: 执行程序发生了错误的信息或者是不正常的情况

错误:控制台直接报错 打印了堆栈信息
执行的代码 没有按照的正常的流程进行执行

ThrowAble 是所以异常类的顶级父类 这个类中封装了所以的异常信息
异常信息:

  1. 代码错误的具体的行数

  2. 具体的报错的异常的类型

  3. ThrowAble Error ==>这种异常是非常严重的异常 这种异常是jvm虚拟机给抛出(底层的一些异常 不需要解决 解决不了)

      Execption   这个异常不是特别严重的异常  这种异常是必须要解决
      ArithmeticException  算术异常
      NullPointerException 空指针异常
    

5异常的体系结构
ThrowAble
Error
Execption
RunTimeExecption 运行时异常
ArithmeticException NullPointerException 都属性运行时异常 必须解决
jvm解决异常
jvm解决异常的方式就是 报错 停止jvm 代码终止运行
当调用者都不解决这个异常 ==> 一直往上抛出异常 ==>抛main的时候 ==>jvm 就报错

说明:
定义的方法产生异常时候
这个异常会返回给调用者
如果不解决这个异常 就会继续往上抛 ==> 一直抛到jvm
jvm ==> 报错 打印堆栈信息
== > 停止程序运行 异常后面的代码是不会执行

  总结:在开发中所以的异常 都不要给jvm来处理 
  给jvm处理只有一种结果就是项目崩溃

解决异常

解决异常两种方式 :

  1. 第一个声明异常
  2. 第二种捕获异常

声明异常:
也就是告诉调用者 这段代码可能产生异常 需要调用进行处理
而方法的定义只是声明了,没有处理
捕获异常 --> 自定对异常进行处理 自己来解决这个异常==>捕获异常

捕获异常有三种写法
第一种 try catch
第二种 try catch finally
第三种 try finally

throw和throws

throw说明:

  1. 如果是运行时候异常 或者是其子类 都可以不用处理
  2. 如果不是运行时异常 就必须捕获或者是抛出异常
  3. 在方法中只能声明一个异常

throws说明:

  1. 可以抛出多个异常 但是不能抛出 Execption异常 但是只抛出一个异常是可以抛出 Execption

  2. 抛出的异常范围是越小越好, 范围小 调用者处理比较方便

throw 与throws区别:

  1. throw 声明异常 throws 抛出异常
  2. throw 定义在 在方法中 throws是定义再方法的参数的后面
  3. throw 在方法中只能声明一个异常 throws 可以抛出多个异常
  4. throw 声明的异常是实实在在存在 throws 不一定会发生 不一定存在
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值