主要有以下6种:
-
EvalError: raised when an error occurs executing code in eval()
(在使用eval方法出现异常时才会报此错误) -
RangeError: raised when a numeric variable or parameter is outside of its valid range
(当数字变量或者参数超出了它的有效范围时报错) -
ReferenceError: raised when de-referencing an invalid reference
(引入错误:进行引入操作时出现无效引入) -
SyntaxError: raised when a syntax error occurs while parsing code in eval()
(语法错误:) -
TypeError: raised when a variable or parameter is not a valid type
(类型错误:当一个变量或参数是非法类型时) -
URIError: raised when encodeURI() or decodeURI() are passed invalid parameters
(使用encodeURI和decodeURI方法处理非法参数时报错)
以上六中异常对象都继承自Error对象
Error具有下面一些主要属性:
- description: 错误描述 (仅IE可用).
- fileName: 出错的文件名 (仅Mozilla可用).
- lineNumber: 出错的行数 (仅Mozilla可用).
- message: 错误信息 (在IE下同description)
- name: 错误类型.
- number: 错误代码 (仅IE可用).
- stack: 像Java中的Stack Trace一样的错误堆栈信息 (仅Mozilla可用).
手动抛错
<pre>try{
throw new Error('出错了!')
}catch(e){
console.log(e.name + ' : '+ e.message)
}
//JavaScript中的throw命令事实上可以抛出任何对象,并且我们可以在catch接受到此对象。例如:
try {
throw new Date(); // 抛出当前时间对象
} catch (e) {
alert(e.toLocaleString()); // 使用本地格式显示当前时间
}
</pre>
网友评论