ECMA-262定义的七种错误类型
1、Error:普通异常。通常与throw语句和try/catch语句一起使用。利用属性name可以声明或了解异常的类型,利用message属性可以设置和读取异常的详细信息。
2、EvalError:在不正确使用eval()方法时抛出。
3、SyntaxError:抛出语法错误。
4、RangeError:在数字超出合法范围时抛出。
5、ReferenceError:在读取不存在的变量时抛出。
6、TypeError:当一个值的类型错误时抛出该异常。
7、URLError:由URL的编码和解码方法抛出。
其中Error是基类,其他错误类型都继承自该类型。
try{ test(); }catch(error){ if(error instanceof TypeError) //处理类型错误 }else if(error instanceof ReferenceError){ //处理引用类型 }else{ //处理其他数据类型 } }
使用try-catch
try{ //可能会导致错误的代码 }catch(error){ alert(error.message);//当发生error时,error对象有一个message属性包含着error信息 }message属性是唯一一个能够保证所有浏览器都支持的属性。
4、RangeError:在数字超出合法范围时抛出。
5、ReferenceError:在读取不存在的变量时抛出。
6、TypeError:当一个值的类型错误时抛出该异常。
7、URLError:由URL的编码和解码方法抛出。
其中Error是基类,其他错误类型都继承自该类型。