关键词:
文章目录
MDN文档
错误类型
- Error:所有错误的父类型
- ReferenceError:引用的变量不存在
console.log(a);//ReferenceError: a is not defined
console.log(a);//ReferenceError: a is not defined
console.log('-----');
注意第二行代码,当我写入上述两行代码时,控制台只打印了第一行代码的错误。这是因为没有捕获第一行代码的错误,所以下面的代码不会执行
- TypeError:数据类型不正确的错误
var a;
console.log(a.name);// TypeError: Cannot read properties of undefined (reading 'name')
var a = ;
console.log(a.sing());//TypeError: a.sing is not a function
4. RangeError:数据值不在其所允许的范围内
function fn()
fn()
fn();//RangeError: Maximum call stack size exceeded
5. SyntaxError:语法错误
int a;
console.log(a);// SyntaxError: Unexpected identifier
错误处理
- 捕获错误: try … catch
try语句允许我们定义在执行时进行错误测试的代码块。
catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
try
// 检测错误代码
catch(err)
// 捕获错误并处理
- 抛出错误: throw new Error
throw 语句抛出一个错误,当错误发生时,JavaScript 会停止执行并抛出错误信息
function fn(a,b)
if(a > b)
console.log(1);
else
throw new Error('我太难嘞')
try
fn(3,4)
catch(err)
console.log(err.message);//我太难嘞
如果前一个参数的值小于第二个参数的,会抛出一个异常(err)异常 (err) 通过 catch 语句捕获并自定义输出错误信息
错误属性
- description: 错误描述 (仅IE可用).
- fileName: 出错的文件名 (仅Mozilla可用).
- lineNumber: 出错的行数 (仅Mozilla可用).
- message: 错误信息 (在IE下同description)
- name: 错误类型.
- number: 错误代码 (仅IE可用).
- stack: 像Java中的Stack Trace一样的错误堆栈信息
try
let a;
console.log(a.name);
catch(error)
console.log(error.message);// Cannot read properties of undefined (reading 'name')
console.log(error.name);// TypeError
console.log(error.stack);// TypeError: Cannot read properties of undefined (reading 'name') at Error.html:52
console.log(error.description);// undefined
console.log(error.number);// undefined
console.log(error.fileName);// undefined
console.log(error.lineNumber);// undefined
以上是在Chrome浏览器下的执行结果
借鉴链接
js中的error对象(代码片段)
文章目录MDN文档错误类型错误处理错误属性借鉴链接MDN文档Error错误类型Error:所有错误的父类型ReferenceError:引用的变量不存在console.log(a);//ReferenceError:aisnotdefinedconsole.log(a);//ReferenceError:aisnotdefinedconsole.log('-----');注... 查看详情
nodejs中的文件操作(代码片段)
目录浏览器中的js无文件操作能力,但是node中的js有1.读文件 第一个参数就是要读取的文件路径 第二个参数是一个回调函数 读取成功 error=null data=数据 读取失败 error=错误对象 data=err... 查看详情
前端开发中的error以及异常捕获(代码片段)
...项很重要的工作。本文将从Error开始,讲到如何捕获页面中的异常。文章较长,细节较多,请耐心观看。前端开发中的ErrorJavaScript中的ErrorJavaScript中,Error是一个构造函数,通过它创建一个错误对象。当运行时错误产生时,Error的... 查看详情
vscode自定义代码片段9——js中的面向对象编程(代码片段)
...定义片段名称=》编辑用户片段=》ctrl+S保存 //JS中的面向对象编程 "Printtoconsole": "prefix" 查看详情
node.js中的面向对象(代码片段)
//这里私有对象obj;只能由方法obj2.get*()方法来访问;functionGreate(name,age)varobj=name:name;age:agevarobj2=get:function()returnobj.namereturnobj2这里实例化对象,varnewObj=Greate("刘美林‘,"小银哥)console.log(obj2.g 查看详情
深入理解js面向对象——创建对象(代码片段)
...博客原文在这由于js这门语言是解析型语言的特性,导致js中的对象更加灵活,更像是一些属性的集合,或者说类似于散列表或者字典这些数据结构.所以我们可以在使用的时候随着需求对对象中的属性进行增删改查,这完全是动态的不... 查看详情
js中的函数与对象(代码片段)
创建函数的三种方式1.函数声明functioncalSum1(num1,num2)returnnum1+num2;console.log(calSum1(10,10));2.函数表达式varcalSum2=function(num1,num2)returnnum1+num2;console.log(calSum2(10,20));3.函数对象方式varcalSum3=newFunction 查看详情
深入理解js面向对象中的prototype(代码片段)
一、基本使用方法 prototype属性可算是JavaScript与其他面向对象语言的一大不同之处。prototype就是“一个给类的对象添加方法的方法”,使用prototype属性,可以给类动态地添加方法,以便在JavaScript中实现“继承”的效... 查看详情
javascript错误处理完整指南(代码片段)
...异常的方式,以及错误处理最佳实践!1.错误概述JavaScript中的错误是一个对象,在发生错误时会抛出该对象以停止程序。在JavaScript中,可以通过构造函数来创建一个新的通用错误:consterr=newError("Error");当然,也可以省略new关键... 查看详情
javascript对象(代码片段)
JS对象1. JS对象JS对象是什么?JS对象数据类型JS对象的访问2. JS对象的声明方法3. JS对象中的this4. 一些常用的操作方法4.1)Object.keys(obj),Object.getOwnPropertyNames(obj)4.2)Object.values(obj)4.3)Object.entries(obj),Object.fromEntries()4.4) 查看详情
前端异步技术之promise(代码片段)
...此文一定能帮你排忧解惑!Promise概念Promise是JS异步编程中的重要概念,异步抽象处理对象,是目前比较流行Javascript异步编程解决方案之一或许是笔者理解能力有限,对官方术语怎么也感受不到亲切,下面我来用通俗易懂的语言... 查看详情
js中的this总结(代码片段)
JavaScript中的this:this指向是在运行函数时确定的,而不是定义函数时候确定的匿名函数的执行环境具有全局性,因此其this对象通常指向window(在通过call()或apply()改变函数执行环境的情况下,this就会指向其他对象)全局上下文:无论... 查看详情
js把两个对象合并成一个对象(代码片段)
...象。sources源对象。返回值目标对象。描述如果目标对象中的属性具有相同的键,则属性将被源中的属性覆盖。后来的源的属性将类似地覆盖早先的属性。Object.assign 方法只 查看详情
js高级(代码片段)
this指向//普通函数中的thisconsole.log(this);//指向windowfunctionfn()console.log(this);fn();//window对象中的thisvarobj=a:1,b:function()console.log(this);//this指向当前对象本身obj,c:this//this指向对象外this的指向一般指windowobj.c;o 查看详情
node中的global对象和process对象(代码片段)
因为Node.js是运行在服务区端的JavaScript环境,服务器程序和浏览器程序相比,最大的特点是没有浏览器的安全限制了,而且,服务器程序必须能接收网络请求,读写文件,处理二进制内容,所以,Node.js内置的常用模块就是为了实... 查看详情
js原型和构造函数(代码片段)
前言 从应用层面深入理解原型模式和js中的构造函数。构造函数(constructor) js中的任何对象都有自己的构造函数。js中使用字面量声明的普通对象()或数组([])等子对象本质上都是使用相关的函数做构造调用声明的... 查看详情
反序列化(代码片段)
...错误。如果是非字段错误,可以通过修改REST-framework配置中的NON_FIELD_ERRORS_KEY来控制错误字典中的键名。验证成功,可以通过序列化器对象的validated_dat 查看详情
jq的error(代码片段)
...js发生错误或资源加载失败时触发。该事件主要用于window对象、<img>等元素。此外,你可以为同一元素多次调用该函数,从而绑定多个事件处理函数。触发error事件时,jQuery会按照绑定的先后顺序依次执行绑定的事件处理函数... 查看详情