错误处理

Jan 30, 2015

所有程序错误中只有很小一小部分,是我们作为程序员能够直接处理的,剩下的都是不能直接处理的。同时在处理错误的过程中有些错误也会转化成不能处理的,比如网络超时,可以通过重试来处理,但是失败次数到达阈值之后则转化为无法由程序处理的错误。

不能处理的又分为以下几种。

  1. 无法通知用户的。(比如OOM)
  2. 可以通知用户的,但是用户无法交互的。
  3. 可以通知用户的,用户可以提供(或在UI层有默认的)解决方案的。

错误处理带来的分支逻辑可能远远多于,复杂于正常情况的逻辑。但是,我相信合理的分配和处理这些错误才能写出像样的GUI程序。