Java异常

1. 什么是异常:

  • 错误在我们编写程序的过程中会经常发生,包括编译期间和运行期间的错误。
  • 在程序运行过程中,意外发生的情况,背离我们程序本身的意图的表现,都可以理解为异常

2. 异常分类

  • Throwable
    • Error:它们在应用程序的控制和处理能力之外,而且绝大多数是程序运行时不允许出现的状况
      • 虚拟机错误
      • 内存溢出
      • 线程死锁
    • Exception:是程序本身可以处理的异常。异常处理通常指针对这种类型异常的处理。
      • Checked Exception(检查异常) RuntimeException
        • 空指针异常
        • 数组下标越界异常
        • 算数异常
        • 类型转换异常
      • Unchecked Exception(未检查异常)
        • IO异常
        • SQL异常

3. 异常处理分类

  • 抛出异常
    • 异常对象
      • 异常类型
      • 异常出现时的程序状态
  • 异常捕获:对于运行时异常、错误或可查异常,Java技术所要求的异常处理方式有所不同
    • 对于可查异常必须捕捉或者声明抛出
    • 允许忽略不可查的RuntimeException(含子类)和Error(含子类)
  • 异常处理
    • 通过5个关键字来实现:try catch finally throw throws
    • 捕获异常 try-catch-finally
      • try块后可接零个或多个catch块,如果没有catch块,则必须跟一个finally块 组合使用
    • 声明异常 throws
      • 如果一个方法可能会出现异常,但没有能力处理这种异常,可以在方法声明处用throws子句来声明抛出异常
      • 当方法抛出异常列表中的异常时,方法将不对这些类型及其子类类型的异常作处理,而抛向调用该方法的方法,由它处理
      • 当子类重写父类抛出异常的方法时,声明的异常必须是父类方法所声明异常的同类或子类
    • 抛出异常 throw
      • 抛出的只能是可抛出类Throwable或者其子类的实例对象
      • 当子类重写父类抛出异常的方法时,声明的异常必须是父类方法所声明异常的同类或子类

4. 终止finally执行的方法: System.exit((1)

5. return关键字:finally中不建议加return关键字

6. 自定义异常:就是定义一个类,去继承Throwable类或者它的子类

7. 异常链:将异常发生的原因一个一个串起来,即把底层的异常信息传给上层,这样逐层抛出

  • new Exception("", e)
  • Exception e1 = new Exception(""); e1.initCause(e);

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值