js中的error对象(代码片段)

她还会来吗 她还会来吗     2022-10-28     818

关键词:

文章目录

MDN文档

Error

错误类型

  1. Error:所有错误的父类型
  2. ReferenceError:引用的变量不存在
     console.log(a);//ReferenceError: a is not defined

   console.log(a);//ReferenceError: a is not defined
   console.log('-----');

注意第二行代码,当我写入上述两行代码时,控制台只打印了第一行代码的错误。这是因为没有捕获第一行代码的错误,所以下面的代码不会执行

  1. 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浏览器下的执行结果

借鉴链接

hiperion js 的try catch应用

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会按照绑定的先后顺序依次执行绑定的事件处理函数... 查看详情