1、异常结构
Throwable是Error和Exception的父类
Error : 一般指不可恢复的错误 如内存溢出、磁盘损坏等
2、uncheck与checked Exception
RuntimeException以及其子类都是uncheck异常。不需捕获
其他异常都是checked(受检)异常:必须try cache捕获 或 throws向外抛出。
checked受检异常 一般用于可预知、可恢复的场景,调用者需要明确对这些异常如何处理。
建议:
1、异常用于处理错误或非预期的情况,不要用于正常的业务流程
2、自定义异常如果不是可恢复、可预期的场景,建议使用运行时异常(即uncheked Exception)