学会重视错误处理

失败是成功之母,学会接纳错误
try-catch语句(因为浏览器处理不同,可能会发生错误时用)
标准化错误处理,捕捉错误信息

示例:

try{
 // 可能会导致错误的代码
} catch(error){
 // 在错误发生时怎么处理
} finally {
 // 不管怎样都会执行,只要有finally存在,try和catch里面的都会被忽视
 } 
 
错误类型
  • Error:Error 是基类型
  • EvalError:如果没有把 eval()当成函数调用,就会抛出错误
  • RangeError:数值超出相应范围时触发
  • ReferenceError:在找不到对象的情况下发生,即找不到对象
  • SyntaxError:语法错误
  • TypeError:在变量中保存着意外的类型时,或者在访问不存在的
    方法时,都会导致这种错误。但归根结底还是由于在执行特定于类型的操作
    时,变量的类型并不符合要求所致。
抛出错误
  • throw:抛出一个错误,错误类型如上所示

示例:

throw new Error("Something bad happened."); 
throw 必须与try-catch并用,因为一旦抛出错误程序就会停止
错误(error)事件
只要发生错误就触发

示例:

window.onerror = function(message, url, line){
 alert(message);
}; 
常见的错误类型
  • 类型转换错误
  • 数据类型错误
  • 通信错误
致命错误和非致命错误
应用程序根本无法继续运行,错误明显影响到了用户的主要操作,会导致其他连带错误都为致命错误,其余的都为非致命错误