异常处理时在程序在运行时,出现编译期不可预料的错误(如网络赌赛、IO错误、输入条件错误)采取的一种处理策略。在C语言中,没有语言级的错误处理机制,只有运用函数的返回值的约定来处理异常流程。
一、引入异常的原因:
把错误处理代码和发生错误的地点分开、避免异常处理逻辑侵入到业务逻辑中。减少代码体积、让代码更加健壮。
二、异常处理总原则:
1. 有一致的报告异常错误的模型、框架;所有错误都以异常的形式报告
2. 不在乎什么时间、什么地点处理异常;但要保证每一个异常都能得到处理
3. 异常中不嵌入业务逻辑
三、异常处理最佳实践
1. 只有在知道异常如何恢复、处理或对异常进行转换的情况下,才捕获异常
2. 对于可恢复的条件、使用被检查异常;程序错误,使用未检查异常
3. 尽量使用标准异常,如:IllegalArgumentException, NullPointerException, IllegalStatementException, IndexOutofBoundException,UnsupportedOperationException等。
4. 建立异常的层次关系
5. 让异常具有院子性,即发生异常后,对象要回到发生异常前的状态
四、java异常体系结构
五、检查异常和未检查异常