异常处理

异常处理

  1. Java将异常分为两种:
    • Checked异常:在编译阶段被处理的异常(被强制处理)
    • Runtime异常:运行时异常,不需要处理
  2. Java的异常机制主要依赖于try,catch,finally,throw,throws五个关键字
    • try块:try{},花括号不能省略
    • catch后跟异常类型和代码块,花括号不能省略
    • 多个catch块后可以跟一个finally块,用于回收try块里打开的物理资源
    • throw用于抛出一个具体的异常
    • throws作为语句使用,用于声明该方法可能抛出的异常
    • java垃圾回收机制不会回收物理资源
    • try块是必须的,catch块和finally块至少出现一个
    • 除非在try块中调用了退出虚拟机的方法(System.exit(0)😉,否则总会先执行finally(重点)
  3. 所有的异常类继承根类Throwable,它派生异常(Exception)和错误(Error)。
    • Error:无法处理,比如说内存溢出
    • Exception:需要编写代码处理
    • Throwable类的方法有:
      • getMessage():获取异常信息,返回字符串。
      • toString():获取异常类名和异常信息,返回字符串。
      • printStackTrace():获取异常类名和异常信息,以及异常出现在程序中的位置。返回值void。
  4. 捕获异常时先处理小异常,再处理大异常(把Exception类对应的catch块放在最后)
  5. 多异常捕获,多异常类型之间用|隔开,异常变量用final隐式修饰,不能再赋值
  6. Java7后资源实现类实现了AutoCloseable或Closeable接口,try语句实现close()方法可以自动回收资源
  7. 打开文件,打开数据库时必须使用try,catch,finally异常处理
  8. 异常处理规则:
    -> 不要过度使用异常
    -> 不要使用过于庞大的try块
    -> 不要忽略捕获到的异常
    -> 避免使用Catch All语句
posted @ 2018-04-23 20:28  bkycrab  阅读(127)  评论(0编辑  收藏  举报