一、初次认识
Exception(异常):分为检查异常(编写源代码时需要显示的进行处理,在方法中try或者throws)、不检查异常(运行时异常,如:空指针、io异常等)。
Error(错误):程序员无法通过程序改变的错误,多为jvm本身的错误。如堆溢出错误、栈溢出错误。
java中关于对异常和错误的处理,有一个顶层的父类Throwable。一个对象只有是 Throwable 类的(直接或者间接)实例,他才是一个异常对象,才能被异常处理机制识别。
二、深入理解
1.理解 Throwable、Exception、Error 的设计和分类
2.掌握最基本的语法是必须的,如 try-catch-finally 块,throw、throws 关键字等。
三、实践应用
- 尽量不要捕获类似 Exception 这样的通用异常,而是应该捕获特定异常
- 不要生吞(swallow)异常。
- 了解一下Throw early, catch late 原则
- 性能方面来说:尽量不要一个大的 try 包住整段的代码、,利用异常控制代码流是影响效率的