《十八》JS 中的错误处理

news2025/1/12 12:27:31

error 对象:

error 对象是当错误发生时提供错误信息的 JS 内置对象。

当错误发生时,浏览器会生成 error 对象并抛出,并且中断后面代码的执行。

console.log(person.name)
console.log('不会被执行到')

请添加图片描述

也可以通过 Error() 构造函数自定义 error 对象并抛出,也会中断后面代码的执行。

const error = new Error('发生错误')
throw error
console.log('不会被执行到')

请添加图片描述

throw 抛出错误操作符:

throw 操作符用于抛出自定义错误,抛出错误时必须要给 throw 操作符指定一个值,这个值没有类型要求。

在使用 throw 操作符抛出错误后,将会中断后面代码的执行。只有当用 try catch 语句捕获错误时,才不会中断后面代码的执行。

throw ’发生错误‘
throw true
throw {error: '发生错误'}

try catch 处理错误语句:

try catch语句用于处理错误。try 块中发生错误就不再执行剩余代码,转而执行 catch 块,所以应该把所有可能会抛出错误的代码都放在 try 块中,而把用于处理错误的代码放在 catch 块中。

使用 try catch 语句处理错误,即使发生了错误也不会中断 try catch 语句后面代码的执行。

try catch 语句有三种结构:

  1. try catch
  2. try finally
  3. try catch finally
try{
	console.log(person.name) // 代码发生了错误 
	console.log('try 块中发生错误,try 块剩余的代码不会被执行到')
} catch(err) { // catch 块会接收到一个报错错误信息的对象
	console.log('try 块中发生错误时 catch 块会被执行')
} finally {
	console.log('finally 子句无论如何都会被执行')
}
console.log('try catch 块外的代码会被执行')

请添加图片描述

error 监听错误事件:

无论是浏览器生成的错误还是自定义的错误,只要发生错误,都会触发 window 对象的 error 事件。

在 error 事件的事件处理函数中返回 false,可以阻止浏览器报错错误的默认行为。

使用 try catch 语句处理错误,将不会再触发 window 对象的 error 事件。

 window.onerror = function(message, url, line, row, error){ // 参数以 Chrome 浏览器为例
	console.log(message)
	return true;   // return true 不提示错误,return flase 提示错误
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/19662.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用Resnet网络对人脸图像分类识别出男女性别(包含数据集制作+训练+测试)

文章目录前言一、数据预处理1.分类数据存放2.生成train.txt与val.txt二、更改配置文件1.自定义修改三、定义resnet网络四、train.py训练五、预测predict.py实现六、预测结果七、完整项目代码数据集(大于1500张)总结前言 本打算昨天写这篇博客的,推迟到今天晚上。实…

章节3 配置CentOS

3.1-什么是虚拟机 什么是虚拟机? Virtual Machine,虚拟软件/平台虚拟出来的操作系统。 虚拟机/物理机 虚拟化技术 虚拟化软件:VMware Workstation、VirtualBox、Virtual PC、Citrix Xen Desktop、Parallels Desktop(MacOS&am…

刷题日记【第十五篇】-笔试必刷题【有假币+求正数数组的最小不可组成和+最难的问题+因子个数】

1.实例方法需要通过super来调用超类中的实例方法;实例方法需要通过类名称来调用超类的类方法;实例方法需要向下转型才能调用子类的实例方法;实例方法可以直接调用本类的实例方法。 2.HashSet子类依靠【hashCode();equals()】方法区分重复元素…

2.6 场效应管放大电路

一、场效应管放大电路的三种接法 场效应管的源极、栅极和漏极与晶体管的发射极、基极和集电极相对应,因此在组成放大电路时也有三种接法,即共源放大电路、共漏放大电路和共栅放大电路。以 NNN 沟道结型场效应管为例,三种接法的交流通路如图2…

Python 3.11 有什么新功能?

详细概述Python 3.11中最重要功能,包括如何安装 beta 版本以及何时可以获得官方稳定版本。 长按关注《Python学研大本营》,加入读者群,分享更多精彩 扫码关注《Python学研大本营》,加入读者群,分享更多精彩 Python在过…

【毕业设计】24-基于单片机的电子显示屏的设计与应用(原理图+源码+仿真工程+论文+答辩PPT)

【毕业设计】24-基于单片机的电子显示屏的设计与应用(原理图源码仿真工程论文答辩PPT) 文章目录资料下载链接任务书设计说明书摘要设计框架架构设计说明书及设计文件源码展示资料下载链接 资料下载链接 资料链接:https://www.cirmall.com/ci…

SpringBoot SpringBoot 开发实用篇 4 数据层解决方案 4.13 ES 下载与安装

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇4 数据层解决方案4.13 ES 下载与安装4.13.1 下载4.13.2 安装4.13.3 使…

网页设计作业学生网页课程设计作业成品DIV+CSS-关于家乡的HTML网页设计

Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业,游景点介绍 | 旅游风景区 | 家乡介绍 | 等网站的设计与制作 | HTML期末大学生网页设计作业 HTML:结构 CSS:样式 在操作方面上运用了html5和cs…

卷积神经网络总结

卷积操作特征图大小计算 图中蓝色部分为55大小的输入卷积层的特征图,黄色部分 为33大小的卷积核,其内部黑色数字为卷积核权重参数,经过卷积操作以后得 到右侧绿色33大小的输出特征图。 如果使用input_N表示输入图像的大小,n表示参…

DJYOS驱动开发系列二:基于DJYOS的IIC驱动编写指导手册

1.概述 DJYOS的DjyBus总线模型为IIC、SPI之类的器件提供统一的访问接口,IICBUS模块是DjyBus模块的一个子模块,为IIC器件提供统一的编程接口,实现通信协议层与器件层的分离。也标准化了IIC总线和 Device驱动接口,本手册指导驱动工…

树与二叉树(二)

**🛀 ♡ ♢ ♤ ♧ ♣ ♦ ♥ ♠🛀** 💥**欢迎来到半之半的博客**,**这篇文章主要讲述数据结构中非常重要的一块内容, 即树与二叉树,相信大家学完必会加深自己的理解。💥****🕝我是半只…

Android BLE HIDS Data ,从问询DB 到写入Android 节点的flow 之三

问题点5:Android BLE具体连接flow 并问询DB的API flow 之第二阶段问询; 表示第二阶段的log “Start service discovery: srvc_idx ”在Android9没有,但在Android 8.0中有,所以后续截图基于Android8.0。 -->执行API bta_gattc_…

ORB-SLAM2 ---- Initializer::ReconstructH函数

目录 1.函数作用 2.函数解析 2.1 调用函数解析 2.2 Initializer::ReconstructH函数总体思路 2.2.1 代码 2.2.2 总体思路解析 3.Initializer::CheckRT 3.1 函数作用 3.2 构造函数 3.3 代码 3.4 流程解析 3.4.0 初始化参数 3.4.1 计算初始化两帧的投影矩阵 3.…

[计算机毕业设计]基于SM9的密钥交换方案的实现与应用

前言 📅大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过…

VMware虚拟机安装黑苹果步骤与常见问题,VMware16,MacOS12.01(Moterey)

资源准备: 链接:https://pan.baidu.com/s/1JFtpMVrULiky9l3SvCXX-w 提取码:c452 说明: 1.镜像版本10.14和12.01根据需要选择其一即可,10.14的后缀为cdr,12.01的后缀为ISO,这两种文件VMware都支…

排名前十的运动蓝牙耳机品牌,2022年值得推荐的运动耳机

现在越来越多人使用耳机了,无论是在公交上还是地铁上又或者在运动时,都能看见很多人使用耳机。大多数人群都喜欢在运动健身的时候佩戴着耳机听音乐,音乐能让我们释放压力,并且心情也能够得到愉悦,相比传统有线运动耳机…

抖店token的生成和刷新的实际开发笔记

目录 前言 一、获取token准备事宜 第1点,app_key的获取 第2点,获取method 第3点,获取grant_type 二、token的生成使用步骤 1.token的生成的代码逻辑 三、刷新token的准备事宜 1.refresh_token的获取 2.grant_type的获取 四、token的刷…

AIOT在数字化转型中的机遇和挑战

目录 引言 为什么 IOT 要结合 AI 数字化转型机遇 什么是企业数字化转型 AIOT 在数字化转型中的作用 面临的挑战 架构挑战 安全风险 安全挑战分析 常见安全问题 如何应对 产业赋能 问题分析 如何应对 算力建设 总结 引言 传统的安防市场已经逐渐接近业务成长天花…

一棵完全二叉树的第7层(根节点为第0层)有12个叶子节点,求整棵树最多有多少个节点和最少有多少个节点

答案 一棵完全二叉树的第7层(根节点为第0层)有12个叶子节点,求整棵树最多有487487487个节点和最少有139139139个节点。 完全二叉树 定义:一棵深度为kkk的有nnn个节点的二叉树,对树中的节点按从上至下、从左到右的顺序进行编号&am…

Python 对象保存优化机制

Python 为了减少开销与内存的使用而设置一些规则: * 1. 但凡是不可变对象, 在同一个代码块中的对象, 只要是值相同的对象, 就不会重复创建, 而是直接引用已经存在的对象.交互环境下: 不写在一行, 字符类型数据指向一个内存地址, 整型超出小整数则执指向不同的地址. 代码块缩进相…