js的catch中throw error和throw new Error(msg)区别

遇到的问题

        最近遇到一个问题,在脚本编辑器中,我希望在catch错误时能抛出新的错误(因为需要在catch中做一些事情,并且能在控制台看到准确的错误信息。),示例代码如下:

try{
//...
}catch(err){//在这里throw新的错误,并且函数栈还要保持err的
}

解决

        我一开始傻乎乎的用throw new Error()一个新的错误,但是在控制台输出后,函数的调用栈就已经变了,致使定位不到问题代码。

        原来直接throw 抛出catch接收的error对象就能让控制台的错误信息是正确的。哈哈哈。

        

try{
//...
}catch(err){//其他事情// 要原错误信息就throw errthrow err 
}

其他用法

1、throw 能抛出表达式,可以是数字、字符串、自定义对象等,但是更应该抛出Error对象及其子类实例。

2、除了new Error,还能new TypeError来表示类型错误,代码如下:

function isNumeric(x) {return ["number", "bigint"].includes(typeof x);
}function sum(...values) {if (!values.every(isNumeric)) {throw new TypeError("只能添加数字");}return values.reduce((a, b) => a + b);
}console.log(sum(1, 2, 3)); // 6
try {sum("1", "2");
} catch (e) {console.error(e); // TypeError:只能添加数字
}

MDN地址

throw - JavaScript | MDN

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

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

相关文章

uboot没有bootdelay倒计时,直接启动内核

方法一: common/main.c void main_loop(void) {const char *s;bootstage_mark_name(BOOTSTAGE_ID_MAIN_LOOP, "main_loop");if (IS_ENABLED(CONFIG_VERSION_VARIABLE))env_set("ver", version_string); /* set version variable */cli_init();s env_get…

rabbitmq+nginx负载服务部署文档

前言 rabbitmq普通集群部署后,存在服务单点承压的情况,故,需要通过前端负载解决单点承压的问题;将采用nginx作为负载器,对流量进行负载分发到各个集群节点,解决服务单点负载的问题环境 虚拟机4台,如下列表…

Spring系统学习-什么是AOP?为啥使用AOP?

问题思考 我们为啥要使用AOP? 来看一个案例: 声明计算器接口Calculator,包含加减乘除的抽象方法 public interface Calculator {int add(int i, int j);int sub(int i, int j);int mul(int i, int j);int div(int i, int j); }public class Calculat…

从缓存到redis

从缓存到Redis 文章目录 从缓存到Redis一、缓存的基础知识(1)为什么使用缓存(2)缓存的本质(3)缓存的加载时机(4)缓存的两种使用方式使用方式一:本地缓存使用方式二&#…

JS(JavaScript)数据校验 表单校验-案例

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

【Rust入门】生成随机数

文章目录 前言随机数库rand添加rand库到我们的工程生成一个随机数示例代码 总结 前言 在编程中,生成随机数是一种常见的需求,无论是用于数据分析、游戏开发还是模拟实验。Rust提供了强大的库来帮助我们生成随机数。在这篇文章中,我们将通过一…

顺序表--续(C语言详细版)

2.9 在指定位置之前插入数据 // 在指定位置之前插入数据 void SLInsert(SL* ps, int pos, SLDataType x); 步骤: ① 程序开始前,我们要断言一下,确保指针是有效的,不是NULL; ② 我们还要断言一下,指定的…

ctfshow sql注入 web234--web241

web234 $sql "update ctfshow_user set pass {$password} where username {$username};";这里被过滤了,所以我们用\转义使得变为普通字符 $sql "update ctfshow_user set pass \ where username {$username};";那么这里的话 pass\ where…

Hadoop和Flink漏洞修复

Hadoop漏洞修复 CVE-2021-33036: Hadoop YARN REST API 未授权访问导致远程代码执行漏洞Cluster Overview 未授权访问漏洞Hadoop 未授权访问漏洞 修复方法1 修复方法1 1、进入hadoop配置文件目录,创建密钥文件 cd /home/flink/hadoop-3.3.2/etc/hadoop echo &qu…

libtorch+torchvision windows编译

libtorch建议直接采用官方的预编译版本,对应好torchvision版本做编译。 1. libtorch预编译版本下载 libtorch官方下载地址 Pybind11编译 git clone https://github.com/pybind/pybind11.git cd pybind11 mkdir build (base) PS E:\project\pybind11-2.13.1> cd .\build…

API类别 - UI核心

API类别 - UI核心 引言 在当今的数字时代,用户界面(UI)是任何软件或应用成功的关键因素之一。UI核心API作为构建用户界面的基础,提供了丰富的功能和工具,使得开发者能够创建出既美观又实用的用户界面。本文将深入探讨…

小程序-<web-view>嵌套H5页面支付功能

背景:小程序未发布前,公司使用vue框架搭建了管理系统,为了减少开发成本,微信提供了web-view来帮助已有系统能在小程序上发布,详见web-view | 微信开放文档。因公司一直未打通嵌套H5小程序的支付功能,导致用…

AIGC对设计行业的影响与启发:AIGC设计能替代真正的设计师吗?

随着科技的飞速发展,人工智能生成内容(AIGC)技术在设计行业的应用日益广泛,引发了广泛的讨论和关注。AIGC以其高效、多样化的生成能力,为设计行业带来了前所未有的变革。然而,关于AIGC是否能替代真正的设计…

开源模型应用落地-FastAPI-助力模型交互-WebSocket篇(一)

一、前言 使用 FastAPI 可以帮助我们更简单高效地部署 AI 交互业务。FastAPI 提供了快速构建 API 的能力,开发者可以轻松地定义模型需要的输入和输出格式,并编写好相应的业务逻辑。 FastAPI 的异步高性能架构,可以有效支持大量并发的预测请求,为用户提供流畅的交互体验。此外,F…

Python 生成Md文件带超链 和 PDF文件 带分页显示内容

software.md # -*- coding: utf-8 -*- import os f open("software.md", "w", encoding"utf-8") f.write(内部测试版2024 MD版\n) for root, dirs, files in os.walk(path): dax os.path.basename(root)if dax "":print("空白…

雅思词汇及发音积累 2024.7.3

银行 check (美)支票 cheque /tʃek/ (英)支票 ATM 自动取款机 cashier 收银员 teller /ˈtelə(r)/ (银行)出纳员 loan 贷款 draw/withdraw money 提款 pin number/passsword/code …

从 ClickHouse 到 Apache Doris:快成物流的数智化货运应用实践

导读:随着快成物流的大宗商品产业链的不断发展,货运轨迹规划和实时数据分析的需求日益迫切,为了保障数据报表更新、用户画像圈选与物流轨迹实时更新等大数据核心系统性能,快成物流引入 Apache Doris 实时数仓升级了大数据算法平台…

数据决策系统详解

文章目录 数据决策系统的核心组成部分:1. **数据收集与整合**:2. **数据处理与分析**:3. **数据可视化**:4. **决策支持**: 数据决策系统的功能:决策类型:数据决策系统对企业的重要性&#xff1…

这才叫必备软件推荐 你不能不知道的mac软件 Mac上有什么实用的必备软件 Mac常用必备软件推荐 一些好用的Mac软件

Mac OS是一个类Unix系统,内置终端Shell,这使得它天生就适合为程序员、开发者、设计者所用。不得不说苹果对用户体验的追求已经到了极致。遂开本篇,由于应用众多,一锅炖不下,故打算做一个系列。 下面为大家一一介绍一些…

基于物品的协同过滤算法

预估用过户对候选物品的兴趣 计算物品相似度 召回通道 快速做召回条件