摘要

极客时间里的Java核心技术系列,第2讲,记录一些笔记。
关键词:Throwabel,Error,Exception,Unchecked,Checked,日志。

概述

我们需要依靠异常处理机制来处理一些可能发生的意外情况,来保证程序的可靠性和健壮性。
Java 里异常处理机制由 Throwable 类完成。他包括了 Error 和 Exception。 具体看下图:

2条基本原则

我们在对异常进行处理时,有2条基本原则。

  1. 尽量不要去捕获Exception这样范围很大的异常类,而应该去捕获特定的异常类。
    否则我们都不知道是什么异常抛出了,我们该怎么解决。对异常的信息可以保留到日志里面。
  2. 不要生吞(swallow)异常。
    也就是不要试着去隐藏一个异常,不要去掩盖异常。
    不知道如何处理的话,先保留原有异常的cause信息,再抛出去,在更高的层面上往往会有清晰的思路来解决。

其他

  • 仅对必要的代码进行try-catch,因为这样产生额外的开销。
  • 每实例化一个Exception,都会对当时的栈进行一个快照,保存现场的信息。
  • try-with-resources 语句。
    这是JDK1.7引入的语法。不用我们自己书写 关闭资源 的代码。
    但是资源必须实现 AutoClosable接口,实现类重写close方法。

参考链接:

https://juejin.im/entry/57f73e81bf22ec00647dacd0