错误,指程序中的非正常运行状态,在其余编程语言中称为‘异常’或‘错误’。解释器会为每个错误情形建立并抛出一个Error对象,其中包含错误的描述信息。
经过使用JavaScript提供的异常处理语句,能够用构造化的方式来捕捉发生的错误,让异常处理代码与核心业务代码现实分离。错误与异常处理在应用中的重要性是毋庸置疑的。任何有影响力的Web应用都须要一套完善的错误处理机制。编程
try...catch 语句做为JavaScrip中处理异常的一种标准方式。try语句标记一块带尝试的语句,若是该语句出现错误,则经过catch语句进行捕捉。基本的语法以下
try{
//可能会致使错误的代码
}catch(error){
//在错误发生时的处理
}、浏览器
可使用捕捉块来处理全部可能在try代码块中产生的异常。
catch(catchID){
statements
}
捕捉块制定了一个标识符(上述语句中的catchID)来存放抛物语句指定的指。
能够用这个标识符来获取抛出的异常信息。编程语言
终结块包含了在try和catch块完成后,下面接着的语句以前执行的语句。终结块不管是否抛出异常都会执行。若是抛出一个异常,就算没有异常处理,终结块李的语句也会执行。
try{
console.log(0);
}catch(error){
console.log(1);
}finally{
console.log(3);
}code
能够嵌套一个或多个try...catch语句。若是一个内部的try...catch语句没有捕捉块,将会启动匹配外部的TRY...catch语句的捕捉块。
try{
console.log(0);
}catch(error){对象
try{console.log(1); }catch(error){
console.log(2)继承
}
}ip
执行代码期间可能会发生的错误有多种类型,每种错误都有对应的错误类型。当错误发生时,就会抛出对应类型的错误对象。
Error 是基本错误类型,其余错误类型都是继承自该类型。Error类型的错误不多见,若是有也是浏览器抛出的。这个基础错误类型的主要目的时提供给开发人员派出自定义的错误。开发
除了基本错误类型以外,JavaScript还提供了七种预约义的错误类型
错误 类型 说明
EvalError 与eval()有关
intemalError 标识JavaScript引擎内部错误的异常。
RangeError 数值变量或参数超出其有效范围。
ReferenceError 无效引用。
SyntaxError eval()在解析代码的过程当中发生的语法错误。
TypeError 变量或参数不属于有效类型
URIError 给encodeURI()decodeURI()传递的参数无效、console
与try...catch语句相配合使用的还有throw 操做符,用于随时抛出自定义错误。抛出错误是,必需要给throw操做符指定一个值(这个值说明类型,没有要求。)
throw'Error';//String类型
throw 42 //Number类型
throw true ;//Boolean类型基础