Error实例对象
js原生提供 Error
构造函数,所有跑出的错误都是这个构造函数的实例
原生错误类型
- SyntaxError:是解析代码时发生的语法错误。
- ReferenceError:引用一个不存在的变量时发生的错误,或者将一个值分配给无法分配的对象
- RangeError:是一个值超出有效范围时发生的错误。主要有几种情况,一是数组长度为负数,二是Number对象的方法参数超出范围,以及函数堆栈超过最大值。
- TypeError:是变量或参数不是预期类型时发生的错误
- URIError:是 URI 相关函数的参数不正确时抛出的错误,主要涉及encodeURI()、decodeURI()、encodeURIComponent()、decodeURIComponent()、escape()和unescape()这六个函数。
- EvalError:eval函数没有被正确执行时,会抛出EvalError错误。该错误类型已经不再使用了,只是为了保证与以前代码兼容,才继续保留。
自定义错误
function UserError(message) {
this.message = message || '默认信息';
this.name = 'UserError';
}
UserError.prototype = new Error();
UserError.prototype.constructor = UserError;
throw语句
throw语句的作用是手动中断程序执行,抛出一个错误。
可以抛出任何类型的值。