对于异常的理解:
一、异常分类及处理建议:
主要分为三种:都是Throwable的子类
- Exception(派生出 Checked Exception):
- 表示的是一系列应用本身也无法控制的情况,需要强制调用方异常处理,从而提高代码质量。
- RuntimeException:
- 表示的是软件开发人员没有正确地编写代码所导致的问题。不强制调用方对异常进行处理。
- Error:
- 一系列很难通过程序解决的问题,这些问题基本上无法恢复。所以不处理。
二、实际使用的注意事项:
正确使用Checked Exception:
- 不建议直接抛出(throws);
- 考虑使用一个Wrapped Exception(即用户自定义的异常信息,可以更好理解错误到底是什么)来将该Checked Exception包装起来;
三、参考文章:
- Java异常进阶: http://blog.decaywood.me/2016/09/29/Java-exception-advanced/ (项目实际中的使用经验,结合之前在301的代码架构理解,可以更有感触)