异常处理是现代计算机科学最棘手的问题之一,你不能随意的对待它。一些人估计一个程序90%的代码用于异常处理,也就是说只有10%的代码用于处理正常逻辑。既然这么多的代码用于异常处理,那么在系统设计有必要明确一个统一的异常处理策略。
当被忽视时,异常处理经常被认为是一个编码习惯问题。但是,由于异常处理遍布系统各处,最好在系统设计时明确异常处理的方案。下面是几个需要思考的问题:
- 异常处理是修复性的还是检测性的?系统可以积极的检测错误——比如校验用户输入的正确性——或者只有当异常不可避免的时候才被动的处理——比如,当用户的输入导致数字上溢时。我们可以提前清除障碍或者时候收拾残局。不管哪种情况,我们的选择都会对用户接口设计产生影响。