Java异常处理如何优雅的不处理
java异常类层次结构图

异常的英文单词是exception,字面翻译就是“意外、例外”的意思,也就是非正常情况。事实上,异常本质上是程序上的错误,包括程序逻辑错误和系统错误。比如使用空的引用、数组下标越界、内存溢出错误等,这些都是意外的情况,背离我们程序本身的意图。错误在我们编写程序的过程中会经常发生,包括编译期间和运行期间的错误,在编译期间出现的错误有编译器帮助我们一起修正,然而运行期间的错误便不是编译器力所能及了,并且运行期间的错误往往是难以预料的。假若程序在运行期间出现了错误,如果置之不理,程序便会终止或直接导致系统崩溃,显然这不是我们希望看到的结果。因此,如何对运行期间出现的错误进行处理和补救呢?Java提供了异常机制来进行处理,通过异常机制来处理程序运行期间出现的错误。通过异常机制,我们可以更好地提升程序的健壮性。

-
unchecked exception(非检查异常)也称运行时异常(RuntimeException)对于运行时异常,java编译器不要求必须进行异常捕获处理或者抛出声明,由程序员自行决定。
-
checked exception(检查异常,编译异常)也称非运行时异常(运行时异常以外的异常就是非运行时异常),java编译器强制程序员必须进行捕获处理,
如何处理异常
-
写日志
-
执行相关处理逻辑
如何不处理异常

-
如果能,添加throws定义
-
否则将Checked Exception转化成Unchecked Exception, 再抛出
-
转化时必须带上Cause;
throw new RuntimeException(checkedException);