js的原生错误类型都有哪些?
- SyntaxError 对象
解析代码时发生的语法错误 - ReferenceError 对象
引用一个不存在的变量时发生的错误 - RangeError 对象
一个值超出有效范围时发生的错误,主要有几种情况,一是数组长度为负数,二是Number对象的方法参数超出范围,以及函数堆栈超过最大值 - TypeError 对象
变量或参数不是预期类型时发生的错误 - URIError 对象
URI 相关函数的参数不正确时抛出的错误,主要涉及encodeURI()
、decodeURI()
、encodeURIComponent()
、decodeURIComponent()
、escape()
和unescape()
这六个函数
在利用URL带参数的时候避免直接使用% = # &
符号
URI和URL的区别
URI包括URL和URN,所以URL一定是URI,而URI不一定是URL
URI:Universal Resource Identifier 统一资源标志符,用来标识抽象或物理资源的一个紧凑字符串,URI 属于 URL 更高层次的抽象,一种字符串文本标准
URL:Universal Resource Locator 统一资源定位符,一种定位资源的主要访问机制的字符串,URL包括:protocol(协议)、host(主机)、port(端口)、path(路径)、parameter(参数)、anchor (锚点)
URN:Universal Resource Name 统一资源名称,通过特定命名空间中的唯一名称或ID来标识资源。
错误处理方式
- 原生错误处理
- 自定义错误处理
function UserError(message) {
this.message = message || '默认信息';
this.name = 'UserError';
}
UserError.prototype = new Error();
UserError.prototype.constructor = UserError;
3.throw 语句
4.try...catch 结构
5.finally 代码块