throw Error('123') throw new Error('222') 和 throw '333' 有什么区别吗

throw Error('123') throw new Error('222') 和 throw '333' 有什么区别吗

throw Error('123') throw new Error('222') 和 throw '333' 有什么区别吗。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕慕子 2022-02-10 10:19:48

同学你好,三种写法都是生成异常的表达式,区别如下:

1、throw Error('123') 和 throw new Error('222') 这两种写法是结合Error构造器,抛出一个错误对象,这两个之间没有区别,因为Error('123') 和 new Error('222') 这两种写法返回的结果是一样的,可以结合MDN的解释理解,如下:

https://img1.sycdn.imooc.com//climg/6204754e096b41a810370241.jpg

2、throw new Error('222')和throw '333'一样,只不过传递的是对象而不是字符串文字

3、值得注意的是,throw  '333' 这种写法要结合try...catch等语句来捕获抛出的错误信息,否则代码会报错,示例:

直接书写throw '333' 控制台会出现报错

https://img1.sycdn.imooc.com//climg/620474280935858406710263.jpg

在throw抛出的错误信息作为catch中的参数在控制台中输出

https://img1.sycdn.imooc.com//climg/6204746309d68b4a07680371.jpg


祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师