Throwable 是什么
Throwable 是 error 和 exception 的基类,关系如下:
捕获 Exception 和 捕获 Throwable
Java 程序运行时有可能会出现各种问题,比如文件无权访问、文件不存在、空指针等情况这些都是异常。但是有些情况是不可逆,比如 JVM 的 OutOfMemoryError,即使有机会做一些释放内存的动作也不会挽回局面,这种情况需要及时介入并终止程序。
捕获了 Throwable 意味着一些不可逆的错误也被驳回了,实际上程序并不能做什么。我们捕获异常或者错误最好是尽可能具体这样才能针对性的处理问题。
也不是所有情况都不建议捕获 Throwable,在编写底层框架时,还有必要捕获到 Throwable 来保证框架的稳定。