JS 异常处理

news2024/10/4 20:08:41

1、抛出异常 throw

1.throw抛出异常信息,程序也会终止执行
2.throw后面跟的是错误提示信息
3.Error对象配合 throw使用,能够设置更详细的错误信息

示例

function fn(x, y) {
    if (!x || !y) {
        throw new Error('没有参数传进来') 
    }
    return x + y
}
fn()

打印结果
在这里插入图片描述

2、try/catch 捕获错误信息

我们可以通过try / catch 捕获错误信息(浏览器提供的错误信息)
try:试试 catch:拦住 finally:最后

示例1

<body>
 <p>这里是文字</p>
</body>
<script>
        function fn() {
            try {
                // 可能发生错误的代码,写到 try 里面
                const p = document.querySelector('.p')
                p.style.color = 'red'
            } catch (err) {
                // 拦截错误,提示浏览器提供的错误信息,return 停止执行
                console.log(err.message)
                return
            }
            console.log(111)  
        }
        fn()
</script>

打印结果
在这里插入图片描述
示例2:配合throw new Error使用,不用加return

function fn() {
    try {
        // 可能发生错误的代码,写到 try 里面
        const p = document.querySelector('.p')
        p.style.color = 'red'
    } catch (err) {
        // 拦截错误,提示浏览器提供的错误信息
        console.log(err.message)
        throw new Error('代码错误')
    }
    console.log(111)   
}
fn()

打印结果
在这里插入图片描述
示例3:完整用法

function fn() {
    try {
        // 可能发生错误的代码,写到 try 里面
        const p = document.querySelector('.p')
        p.style.color = 'red'
    } catch (err) {
        // 拦截错误,提示浏览器提供的错误信息
        console.log(err.message)
        throw new Error('代码错误')
    }
    finally {
        // 不管程序对不对,一定会执行的代码
        alert('弹出对话框')
    }
    console.log(111)   
}
fn()

打印结果
在这里插入图片描述

3、debugger

直接在代码中加上
在这里插入图片描述
调试界面,按F8停止调试
在这里插入图片描述

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

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

相关文章

0201-2-进程的描述与控制

第二章进程的描述与控制 前驱图和程序执行 程序并发执行 程序的并发执行 程序并发执行时的特征 间断性失去封闭性不可再现性 进程的描述 进程的定义 进程是程序的一次执行进程是一个程序及其数据在处理机上顺序执行时所发生的活动进程是具有独立功能的程序在一个数据集合…

业务流程自动化平台在制造业应用案例,助力业务自动化、智能化

捷昌驱动成立于2000年&#xff0c;并于2018年9月在上海证券交易所上市&#xff0c;是一家专注于线性驱动产品研发、生产及销售的科技集团。 公司整合全球资源&#xff0c;为智慧办公、医疗康护、智能家居、工业自动化等关联产业提供驱动及智能控制解决方案&#xff0c;以科技驱…

华为手机滚屏翻译:双指长按屏幕,快速翻译屏幕上的一屏或多屏内容,自动检测英日法韩西俄等10种语言

翻译作为沟通工具&#xff0c;能够帮助跨越各种语言的障碍&#xff0c;让人们能够与来自不同文化背景的人有效交流。翻译也是文化传播的重要途径&#xff0c;它允许不同语言和文化的故事、思想、知识和艺术形式被广泛传播&#xff0c;增进了人们对异域文化的理解和尊重。 在手机…

「C/C++」常见注释格式

✨博客主页何曾参静谧的博客📌文章专栏「C/C++」C/C++程序设计📚全部专栏「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid函数说明

使用 PyTorch 构建 NLP 聊天机器人

一、说明 聊天机器人提供自动对话&#xff0c;可以帮助用户完成任务或寻求信息。随着深度学习的最新进展&#xff0c;聊天机器人正变得越来越具有对话性和实用性。这个全面的教程将利用 PyTorch 和 Python 从头开始构建聊天机器人&#xff0c;涵盖模型架构、数据准备、训练循环…

妤带皇冠必承其重:刘芊妤从模特到演员的蜕变

刘芊妤自2015年至2017年参加了十几场国内外的知名模特大赛&#xff0c;选美大赛&#xff0c;多次荣获冠军&#xff0c;十佳以及单项奖&#xff0c;2017年赴台湾和埃及&#xff0c;赴土耳其参加国际赛事&#xff0c;荣获奖项, 为国争光&#xff0c;她聪明睿智&#xff0c;乘风破…

基于Java SSM框架实现智能快递分拣系统项目【项目源码】计算机毕业设计

基于java的SSM框架实现智能快递分拣系统演示 JAVA简介 Java主要采用CORBA技术和安全模型&#xff0c;可以在互联网应用的数据保护。它还提供了对EJB&#xff08;Enterprise JavaBeans&#xff09;的全面支持&#xff0c;java servlet API&#xff0c;JSP&#xff08;java serv…

CV论文--2024.2.2

1、Motion Guidance: Diffusion-Based Image Editing with Differentiable Motion Estimators 中文标题&#xff1a;运动引导&#xff1a;利用可微分运动估计器进行基于扩散的图像编辑 简介&#xff1a;当根据文本描述生成图像时&#xff0c;扩散模型能够产生引人注目的图像&…

Kafka常见生产问题详解

目录 生产环境常见问题分析 消息零丢失方案 1、生产者发消息到Broker不丢失 2、Broker端保存消息不丢失 3、消费者端防止异步处理丢失消息 消息积压如何处理 如何保证消息顺序 ​问题一、如何保证Producer发到Partition上的消息是有序的 问题二&#xff1a;Partition中…

IDEA 配置和缓存目录 设置

IDEA系列产品&#xff0c;一般会在用户目录创建 配置 和 缓存 目录&#xff1a; %APPDATA%\JetBrains%LOCALAPPDATA%\JetBrains 一般会展示为&#xff1a; C:\Users\<username>\AppData\Roaming\JetBrainsC:\Users\<username>\AppData\Local\JetBrains 一般占用…

为啥监管层要打击量化交易?

&#xff08;1&#xff09;李鬼量化交易&#xff1a;程序化交易 我先讲讲李鬼。它本来不属于量化交易&#xff0c;但是人们说它是量化交易&#xff0c;好吧&#xff0c;三人成虎众口铄金&#xff0c;既然大家说鹿就是马&#xff0c;那鹿就是马&#xff0c;至于鹿是不是马&#…

中国文化之光:微博数据的探索与可视化分析

大家好&#xff0c;我是八块腹肌的小胖 下面我们针对主题“中国文化”相关的微博数据进行爬取 使用LDA、情感分析、情感演化、词云等可视化操作进行相关的展示 1、导包 第一步我们开始导包工作 下面这段代码&#xff0c;首先&#xff0c;pandas被请来了&#xff0c;因为它是…

睿尔曼超轻量仿人机械臂——外置按钮一键启停程序配置

在睿尔曼超轻量仿人机械臂—外置按钮盒使用说明一文中&#xff0c;介绍了外置按钮盒的安装及使用。它能够使机械臂的使用变得更加编辑&#xff0c;仅需按钮即可完成运动程序的启停等控制&#xff0c;而无需进入示教界面操作。 在示教界面中&#xff0c;我们可以完成运动程序的…

从用户行为到数据:数据采集全景解析【主流电商平台API接口数据采集方式】

电商数据采集是数据体系建设的最上游&#xff0c;是非常重要的一个环节&#xff0c;除了专业的数据人员&#xff0c;人们普遍对数据采集的认知度不高。如果你提起埋点&#xff0c;应该很多人都熟悉它。它应该也是绝大部分人对数据采集的认知了。数据上报其实是一个系统性工程&a…

vmware网络配置,VMware的三种网络模式详解与配置

vmware为我们提供了三种网络工作模式 vmware为我们提供了三种网络工作模式, 它们分别是: Bridged&#xff08;桥接模式&#xff09;、NAT&#xff08;网络地址转换模式&#xff09;、Host-Only&#xff08;仅主机模式&#xff09;。 VMware虚拟机的三种网络类型的适用场景如下…

设备的层次结构 - 驱动程序的垂直层次结构

Windows操作系统是分层调用。其实在驱动程序中也可以是分层调用的。 驱动程序的垂直层次结构 不仅是WDM驱动&#xff0c;NT式驱动也可以分层&#xff0c;这主要是通过一个设备附加在另一个设备之上。因此&#xff0c;可以将WDM驱动模型看成是NT驱动模型的延伸。 设备的创建顺序…

一文掌握SpringBoot注解之@Configuration知识文集(2)

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

Flink 1.18.1的基本使用

系统示例应用 /usr/local/flink-1.18.1/bin/flink run /usr/local/flies/streaming/SocketWindowWordCount.jar --port 9010nc -l 9010 asd asd sdfsf sdf sdfsdagd sdf单次统计示例工程 cd C:\Dev\IdeaProjectsmvn archetype:generate -DarchetypeGroupIdorg.apache.flink -…

【Qt】—— 项⽬⽂件解析

目录 &#xff08;一&#xff09;.pro⽂件解析 &#xff08;二&#xff09;widget.h⽂件解析 &#xff08;三&#xff09;main.cpp⽂件解析 &#xff08;四&#xff09;widget.cpp⽂件解析 &#xff08;五&#xff09;widget.ui⽂件解析 &#xff08;一&#xff09;.pro⽂…

HiveSQL题——array_contains函数

目录 一、原创文章被引用次数 0 问题描述 1 数据准备 2 数据分析 ​编辑 3 小结 二、学生退费人数 0 问题描述 1 数据准备 2 数据分析 3 小结 一、原创文章被引用次数 0 问题描述 求原创文章被引用的次数&#xff0c;注意本题不能用关联的形式求解。 1 数据准备 i…