应该在以下情况下使用异常:
- 在恰当的级别处理问题(在知道该如何处理的情况下才捕获异常)。
- 解决问题并且重新调用产生异常的方法。
- 进行少许修补,然后绕过异常发生的地方继续执行。
- 用别的数据进行计算,以代替方法预计会返回的值。
- 把当前运行环境下能做的事情尽量做完,然后把相同的异常重抛到更高层。
- 把当前运行环境下能做的事情尽量做完,然后把不同的异常抛到更高层。
- 终止程序。
- 进行简化(如果你的异常模式使问题变得太复杂,那用起来会非常痛苦也很烦人)。
- 让类库和程序更安全(这既是在为调试做短期投资,也是在为程序的健壮性做长期投资)。