1,JavaScript原生错误类型
- SyntaxError 对象,是解析代码时发生的语法错误。
- ReferenceError 对象 ,是引用一个不存在的变量时发生的错误。
- RangeErrror 对象,是一个值超出有效范围时发生的错误。
- TypeError 对象,是变量或参数不是预期类型时发生的错误。
- URIError 对象,是URI相关函数的参数不正确时抛出的错误。
- EvalError 对象,eval函数没有被正确执行时,会抛出EvalError错误。该错误类型已经不再使用了,只是为了保证与以前代码兼容,才继续保留。
2,和JavaScript错误相关的语句
- try 语句-测试代码块的错误。
- catch 语句-处理错误。catch代码块捕获错误之后,程序不会中断,会按照正常流程继续执行下去。
- throw 语句-创建自定义错误。
- finally 语句-在try 和 catch 语句之后,无论是否触发异常,该语句都会执行。
var text="";
function message(){
try {
//这里设置一个方法名拼写的错误
alart("Hello sex lady!");
}
catch(err) {
text = "错误描述:" + err.message + "\n\n";
alert(text);
}
}
3,throw 语句
throw 语句的作用是手动中断程序执行,抛出一个错误。
if(x <= 0){ throw new Error('x 必须为正数'); }
实际上,throw可以抛出任何类型的值。也就是说,它的参数可以是任何值。
throw 'Error!'; throw 42; throw true; throw { toString:function(){ return 'Error!'; } };
对于JavaScript引擎来说,遇到throw语句,程序就中止了。引擎会受到throw抛出的信息,可能是一个错误实例,也可能是其他类型的值。