码迷,mamicode.com
首页 > 其他好文 > 详细

4.6 异常处理

时间:2018-07-15 12:02:44      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:错误   类库   com   程序   强制   开发人员   检查   父类   语言   

4.6 异常处理
4.6.1 finally 什么时候被调用
  • finally 在执行return方法之前执行
  • finally的return会覆盖try或catch里面的return
  • return的值会存储到一个位置 所以finally对返回值操作可以有影响 (可以当作存的是指针)
    • 当返回类型为基本数据类型时,没有影响
    • 引用类型时 (改变引用类型的值 不是改变引用)会有变化
  • finally不一定被执行
    • 进入try之前就发生了异常
    • 在try会catch中强制退出 (System.exit(0))
4.6.2 异常处理原理
  • 异常时程序在运行时发生的错误,JVM会抛出
  • java语言将异常当作对象来处理
  • 违反语义规则包括两种情况
    • 一种是java类库内值的语义检查
    • 另一种是开发人员扩展这种语义检查
  • 异常继承图
技术分享图片

 

4.6.3运行时异常和普通异常的区别
  • Error
    • 属于在运行期间发生了特别严重的错误
    • 会导致程序终止
    • 是由于逻辑错误导致的
    • 不推荐捕获
    • 应当解决错误
  • Exception
    • 表示可恢复的错误
    • 编译器可以捕获到
    • 两类
      • 检查异常 编译器强制捕获
      • 运行时异常 编译器没有强制对其捕获
  • 异常处理注意事项
    • 捕获异常应先捕获子类,然后再捕获父类
    • 尽早抛出异常
    • 可根据实际需求自定义异常
    • 异常能处理就处理,不能处理就抛出 

4.6 异常处理

标签:错误   类库   com   程序   强制   开发人员   检查   父类   语言   

原文地址:https://www.cnblogs.com/Sungc/p/9312923.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!