JS错误类型的学习

(1)SyntaxError

SyntaxError是解析代码时发生的语法错误

// 变量名错误 
var 1a; 
// 缺少括号 
console.log ‘hello‘);

? ? ? ? ? ? ? ? ? ? ? ? ? ?

(2)ReferenceError

ReferenceError是引用一个不存在的变量时发生的错误。

unknownVariable 
// ReferenceError: unknownVariable is not defined

??另一种触发场景是,将一个值分配给无法分配的对象,比如对函数的运行结果或者this赋值。

console.log() = 1 
// ReferenceError: Invalid left-hand side in assignment 
this = 1 
// ReferenceError: Invalid left-hand side in assignment

上面代码对函数console.log的运行结果和this赋值,结果都引发了ReferenceError错误

(3)RangeError

RangeError是当一个值超出有效范围时发生的错误。主要有几种情况,一是数组长度为负数,二是Number对象的方法参数超出范围,以及函数堆栈超过最大值。

new Array(-1) 
// RangeError: Invalid array length 
(1234).toExponential(21) 
// RangeError: toExponential() argument must be between 0 and 20

(4)TypeError

TypeError是变量或参数不是预期类型时发生的错误。比如,对字符串、布尔值、数值等原始类型的值使用new命令,就会抛出这种错误,因为new命令的参数应该是一个构造函数。

new 123 
//TypeError: number is not a func 
var obj = {}; obj.unknownMethod() 
// TypeError: undefined is not a function

上面代码的第二种情况,调用对象不存在的方法,会抛出TypeError错误。

(5)URIError

URIError是URI相关函数的参数不正确时抛出的错误,主要涉及encodeURI()、decodeURI()、encodeURIComponent()、decodeURIComponent()、escape()和unescape()这六个函数。

decodeURI(‘%2‘) 
// URIError: URI malformed

(6)EvalError

eval函数没有被正确执行时,会抛出EvalError错误。该错误类型已经不再在ES5中出现了,只是为了保证与以前代码兼容,才继续保留。

以上这6种派生错误,连同原始的Error对象,都是构造函数。开发者可以使用它们,人为生成错误对象的实例。

new Error("出错了!"); new RangeError("出错了,变量超出有效范围!"); new TypeError("出错了,变量类型无效!");

上面代码表示新建错误对象的实例,实质就是手动抛出错误。可以看到,错误对象的构造函数接受一个参数,代表错误提示信息(message)。

时间: 2024-10-12 05:14:58

JS错误类型的学习的相关文章

js错误类型

错误类型 执行代码时可能会发生的错误有很多种.每种错误都有对应的错误类型,ECMA-262定义了7种错误类型: 1.Error 2.EvalError 3.RangeError 4.ReferenceError 5.SyntaxError 6.TypeError 7.URIError 其中,Error是基类型(其他六种类型的父类型),其他类型继承自它.Error类型很少见,一般由浏览器抛出的.这个基类型主要用于开发人员抛出自定义错误. PS:抛出的意思,就是当前错误无法处理,丢给另外一个人,比如

搭建前端监控系统(二)JS错误日志收集篇

===================代码展示================    监控系统地址: Demo地址                          页面探针代码: GitHub地址             分析后台地址: GitHub地址                        展示平台地址: GitHub地址                        ===================代码展示================ 对于前端应用来说,Js错误的发生直接

js的错误类型

我在使用node的断言模块(assert)时,会使用错误类型,所以就复习一下: EvalError: 错误发生在eval()中SyntaxError: 语法错误,因为发生SyntaxError会无法通过解释器RangeError: 数值超出范围ReferenceError: 引用不可用TypeError: 变量类型不是预期的URIError: 错误发生在encodeURI()或decodeURI()中 这些错误类型,都是构造函数,js都在内部实现了! 例如: 你可以这样抛出一个语法类型的错误:

【Python系统学习03】错误类型整理(一)

错误类型与可能原因分析 A.语法错误: 1.syntaxError:invalid syntax 无效的语法 print(2019小石头) # print(2019小石头) # ^ # SyntaxError: invalid syntax 2.syntaxError:invalid character in identifier 标识符中有无效的字符 print('我左边的引号是中文的符号') # print('我左边的引号是中文的符号') # ^ # SyntaxError: invalid

【repost】js 常见错误类型

1)SyntaxError SyntaxError是解析代码时发生的语法错误 // 变量名错误  var 1a;  // 缺少括号  console.log 'hello'); (2)ReferenceError ReferenceError是引用一个不存在的变量时发生的错误. unknownVariable  // ReferenceError: unknownVariable is not defined 另一种触发场景是,将一个值分配给无法分配的对象,比如对函数的运行结果或者this赋值.

js常见错误类型

常见三种错误类型: 类型转换错误 数据类型错误 通信错误 数据类型错误实例: 通讯错误: 通讯错误最常见的问题是将数据发给服务器之前没有使用 encodeURIComponent() 对数据进行编码

JS中childNodes深入学习

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> </head> <body> <div id="box"> <div></div> <div></div> <div></div> </div> <script

从 Node.js 错误中获得的经验

有多少次你发现自己在终端或监控系统内查看堆栈轨迹,但并不能看出个所以然来?如果你的回答是“很多次”,那么这篇帖子你应该看看.如果你不经常碰上这种情况也没关系,你也可以看看这篇文章解闷. 当处理 Node.js 服务器的复杂数据时,要会从可返回给请求方的错误中总结经验,具备此能力至关重要.在处理一个请求时,一个错误出现会引起链接里另一个错误的出现,于是问题就来了.当此脚本出现时,一旦你生成了新错误,并将它返回到了链接,那你就丢失了与原始错误的所有连接.    达尔文达尔文翻译于 5天前 0人顶 顶

怪异JS错误的诊断与修复

h2{font-size:1.2em}p{text-indent:2em;}前端开发whqet,csdn,王海庆,whqet,前端开发专家 原文:JavaScript Errors and How to Fix Them 翻译:前端开发whqet, 意译为主,不当之处敬请指正. 作者简介:Jani Hartikainen,拥有十数年的网页应用开发经验,曾经为nokia和低调神秘的startups.(一个创业孵化公司)除了编程和玩游戏,他经常在自己的站点书写JS和高质量的代码. 译者的话,Java