js try catch(js中try catch的执行)

2026-08-20 22:00:02 :0

js try catch(js中try catch的执行)

本篇文章给大家谈谈js try catch,以及js中try catch的执行对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

js中try catch的执行

  1. 如果抛出错误了,你就不知道a=NaN了,抛出异常和返回NaN两者只能选一个,js选择了后者

  2. 我想parseInt都返回NaN了,那它还能抛出什么异常?这里callback一定会被调用

  3. 和java的用法相似但有差别,比如,catch(err/*这里必须要指定一个名字*/),没法像java那样在catch的()内按照异常类型类捕捉,但可以在catch(err){/*在这里根据err类型来区分,但似乎很少见到有这么用的*/}

JS try catch语句一般在什么情况下使用是必须使用的吗

try catch的使用,永远应该放在你的控制范围之内,而不应该防范未知的错误。也就是说你很清楚知道这里是有可能”出错“的,而且你很清楚知道什么前提下会出错,你就是要故意利用报错信息来区分错误,后续的程序会解决所有的出错,让程序继续执行。如果让用户先发现你根本没预料到的错误,而不是你先发现错误,你是失职的。大多数情况下,try catch适用于两种场合:

1、浏览器原罪的场合:也就是兼容性场合,因为浏览器兼容性不是程序员能改正的,所以只能try catch:由于不同浏览器的报错提示是不一样的,根据捕获的浏览器的报错提示判断用户的浏览器,然后做出对应的措施,这时候使用try catch是巧妙的办法,如果用if就比较笨拙,因为if通常只能反馈真或假,不能直接反馈浏览器的报错内容。

2、考虑如下代码。window.a.b是非法的,再跟2对比就没有意义,这样非法的条件,在try catch中仍可以继续运行下去。但在if中window.a.b已经报错,整个页面都会坏掉。如果希望用if写,那么必须先判断window.a是否是合法的,window.a是合法的前提下再判断window.a.b是不是合法的,如果也是合法的,再判断window.a.b是否不等于2,这样是不是很蠢?这时就体现出try catch的妙处了,程序不但知道window.a.b !== 2是假的,而且直接可以知道究竟哪一步就已经是假的。再想象一下,有一个变量是json.a.b.c,其中的a/b/c都可能是存在的也可能是不存在的,全看具体情况,这时候你简单的写if (json.a.b.c === 2) {...}是不行的,因为json.a.b就可能已经是非法的,所以你如果用if,就要考虑a是不是非法的、a是合法前提下b是不是非法的,b是合法前提下c是不是非法的。但是json.a.b.c === 2在try中就可以直接写,也就是说,我不关心究竟a/b/c谁是非法的,我只关心json.a.b.c到底是不是等于2,不等于2或者任何一步出错,对我来讲没有区别,反正都是不等于2,我不关心哪步出错,而且程序不会坏掉。这是一种比较省心的写法。另外注意,try catch不能做真假判断,只能做非法判断。也就是说:try {1 === 2},虽然1===2是假,但是是合法的,catch不会捕捉到错误,也不会告诉你1 === 2到底是真是假。所以,写在try里的应该是json.a.b.c而不是json.a.b.c === 2。究竟是不是等于2,是后面的事,是if干的事。简单说,try catch用于捕捉报错,当你不关心哪一步错误,只关心有没有错,就用try catch。

try {
   window.a.b !== 2
}
catch(err){
     alert(err) // 可执行
     alert(123) // 可执行
}
if (window.a.b !== 2) {
alert("error") // 不执行
}
alert(123); // 不执行

最后,try catch在早期被各种语言的程序员滥用,try catch出现的场合被夸大了,事实上没那么多适用场合。如果你的几千行程序都没用到try catch也是很正常的,尤其是用了jquery。

如果你还想了解更多这方面的信息,记得收藏关注本站。

js try catch(js中try catch的执行)

本文编辑:admin

更多文章:


原矛头蝮血清多少钱一支(贵州铜仁有烙铁头蛇毒蛇血清吗 急 急 !)

原矛头蝮血清多少钱一支(贵州铜仁有烙铁头蛇毒蛇血清吗 急 急 !)

大家好,今天小编来为大家解答以下的问题,关于原矛头蝮血清多少钱一支,贵州铜仁有烙铁头蛇毒蛇血清吗 急 急 !这个很多人还不知道,现在让我们一起来看看吧!本文目录贵州铜仁有烙铁头蛇毒蛇血清吗 急 急 !原矛头蝮价格,原矛头蝮多少钱贵州铜仁有烙

2026年2月3日 11:00

subtotal函数自动排序(EXCEL筛选之后如何自动排序)

subtotal函数自动排序(EXCEL筛选之后如何自动排序)

本篇文章给大家谈谈subtotal函数自动排序,以及EXCEL筛选之后如何自动排序对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录EXCEL

2026年7月30日 05:30

图相通和连通的区别?连通图的定义是什么

图相通和连通的区别?连通图的定义是什么

大家好,单向连通图相信很多的网友都不是很明白,包括图相通和连通的区别也是一样,不过没有关系,接下来就来为大家分享关于单向连通图和图相通和连通的区别的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目录图相通和连通的区别

2025年9月1日 19:15

bat批处理暂停命令(在BAT批处理文件中,暂停命令PAUSE如何指定暂停时间)

bat批处理暂停命令(在BAT批处理文件中,暂停命令PAUSE如何指定暂停时间)

大家好,关于bat批处理暂停命令很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于在BAT批处理文件中,暂停命令PAUSE如何指定暂停时间的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站

2026年5月17日 07:00

idea缩写(常见的英文缩写有哪些)

idea缩写(常见的英文缩写有哪些)

本篇文章给大家谈谈idea缩写,以及常见的英文缩写有哪些对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录常见的英文缩写有哪些史上最全的英语缩

2026年1月2日 16:45

在线商城网站源码(商城网站源码是用PHP开发的好用吗)

在线商城网站源码(商城网站源码是用PHP开发的好用吗)

大家好,在线商城网站源码相信很多的网友都不是很明白,包括商城网站源码是用PHP开发的好用吗也是一样,不过没有关系,接下来就来为大家分享关于在线商城网站源码和商城网站源码是用PHP开发的好用吗的一些知识点,大家可以关注收藏,免得下次来找不到哦

2025年10月11日 13:30

sql找出两张表中不同的数据(怎样查询两个表中同一字段的不同数据值)

sql找出两张表中不同的数据(怎样查询两个表中同一字段的不同数据值)

这篇文章给大家聊聊关于sql找出两张表中不同的数据,以及怎样查询两个表中同一字段的不同数据值对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录怎样查询两个表中同一字段的不同数据值ACCESS中有2个表,想找出2个表不一样的数据,

2026年7月19日 10:45

vagary(vagray什么牌子)

vagary(vagray什么牌子)

大家好,关于vagary很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于vagray什么牌子的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录vagray

2026年4月16日 00:15

python3教程app(python3如何根据包名打开APP)

python3教程app(python3如何根据包名打开APP)

本篇文章给大家谈谈python3教程app,以及python3如何根据包名打开APP对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录pyth

2025年7月16日 03:45

moral virtue(moral and virtue)

moral virtue(moral and virtue)

本篇文章给大家谈谈moral virtue,以及moral and virtue对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录moral and virtuevirtue和morality都是“美德“,有何区别moral a

2025年12月9日 03:30

诱导公式大全表图(怎样快速记住诱导公式)

诱导公式大全表图(怎样快速记住诱导公式)

大家好,今天小编来为大家解答以下的问题,关于诱导公式大全表图,怎样快速记住诱导公式这个很多人还不知道,现在让我们一起来看看吧!本文目录怎样快速记住诱导公式16个诱导公式诱导公式详细资料大全诱导公式大全sec csc 函数诱导公式 图像诱导公

2025年7月19日 13:15

float取值范围怎么算(float的范围和有效数字怎么算出来的)

float取值范围怎么算(float的范围和有效数字怎么算出来的)

大家好,今天小编来为大家解答以下的问题,关于float取值范围怎么算,float的范围和有效数字怎么算出来的这个很多人还不知道,现在让我们一起来看看吧!本文目录float的范围和有效数字怎么算出来的float和double的取值范围是怎么计

2025年12月9日 23:30

利用matlab画散点图(matlab如何画散点图)

利用matlab画散点图(matlab如何画散点图)

大家好,关于利用matlab画散点图很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于matlab如何画散点图的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文

2026年8月10日 02:45

怎样解决syntax error(为什么我在学习编程时遇到了“Syntax Error“错误3)

怎样解决syntax error(为什么我在学习编程时遇到了“Syntax Error“错误3)

各位老铁们好,相信很多人对怎样解决syntax error都不是特别的了解,因此呢,今天就来为大家分享下关于怎样解决syntax error以及为什么我在学习编程时遇到了“Syntax Error“错误3的问题知识,还望可以帮助大家,解决大

2025年6月9日 12:45

consolidated subsidiaries(谁能解释下英国会计中的group,associate和joint venture的具体概念和区别.特点)

consolidated subsidiaries(谁能解释下英国会计中的group,associate和joint venture的具体概念和区别.特点)

各位老铁们,大家好,今天由我来为大家分享consolidated subsidiaries,以及谁能解释下英国会计中的group,associate和joint venture的具体概念和区别.特点的相关问题知识,希望对大家有所帮助。如果可

2025年9月22日 15:15

shell脚步内网自动化安装nginx(如何用xshell搭建web环境(linux))

shell脚步内网自动化安装nginx(如何用xshell搭建web环境(linux))

各位老铁们,大家好,今天由我来为大家分享shell脚步内网自动化安装nginx,以及如何用xshell搭建web环境(linux)的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家

2026年2月28日 15:45

在线转换器花体字(英文花体字转换器)

在线转换器花体字(英文花体字转换器)

大家好,关于在线转换器花体字很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于英文花体字转换器的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录英文花体字转

2026年3月27日 12:45

sql server 是干什么的(SQL Server 是什么)

sql server 是干什么的(SQL Server 是什么)

大家好,sql server 是干什么的相信很多的网友都不是很明白,包括SQL Server 是什么也是一样,不过没有关系,接下来就来为大家分享关于sql server 是干什么的和SQL Server 是什么的一些知识点,大家可以关注收藏

2025年5月29日 22:00

tomcat安全配置规范(Tomcat配置实践)

tomcat安全配置规范(Tomcat配置实践)

今天给各位分享Tomcat配置实践的知识,其中也会对Tomcat配置实践进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录Tomcat配置实践tomcat8.5之后怎么配置https双向认证IDEA 7怎么配置服

2025年9月9日 09:45

node软件是做什么的(npm是什么)

node软件是做什么的(npm是什么)

大家好,今天小编来为大家解答以下的问题,关于node软件是做什么的,npm是什么这个很多人还不知道,现在让我们一起来看看吧!本文目录npm是什么rabbitmq 什么是node如何在MacOS上安装node.js和npmNode.js适合做

2026年3月17日 21:00

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索