任何错误处理策略中最重要的一个部分,就是确定错误是否致命。

非致命错误判断

  • 不影响用户的主要任务
  • 只影响页面的一部分
  • 可以恢复
  • 重复相同的操作可以消除

致命错误判断

  • 应用程序可能无法继续运行
  • 错误明显影响到用户的主要操作
  • 会导致其他连带错误

致命错误解决

for(var i = 0,len = mods.length;i < len;i++){
    mods[i].init();// 可能导致致命错误
}

mods[i]如果为空,或则不满足init()方法的条件可能导致致命错误。

for(var i = 0,len = mods.length;i < len;i++){
    try {
        mods[i].init();
    } catch (e) {
         // 处理异常
    }
}

个人笔记