finally代码块,try/catch测试

背景知识:

JavaScript中捕捉错误的方法:try/ catch /

try/catch/finally 语句用于处理代码中可能出现的错误信息。

错误可能是语法错误,通常是程序员造成的编码错误或错别字。也 可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。

try语句允许我们定义在执行时进行错误测试的代码块。

catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。

finally 语句在 try 和 catch 之后无论有无异常都会执行。

注意: catch 和 finally 语句都是可选的,但你在使用 try 语句时必须至少使用一个。

提示: 当错误发生时, JavaScript 会停止执行,并生成一个错误信息。使用 throw 语句 来创建自定义消息(抛出异常)。如果你将 throw 和 try 、 catch一起使用,就可以控制程序输出的错误信息。

目前所有浏览器都支持

 

翻译原文链接:https://frontarm.com/james-k-nelson/will-finally-run-quiz/

翻译正文:

你知道如何trycatch工作,但怎么样finally?它是在重新抛出的异常或return语句之后运行的吗?

随着async/ 的出现await,我最近发现自己在我的代码中使用了更多trycatchfinally。但说实话,我有点不习惯了finally。当我去实际使用它时,我有点不确定它的细节。所以我把几个例子放在一起。

当你throw一个catch

考虑在那里你抛出一个异常的情况一个catch块。throw在它退出函数之前没有什么可以抓住你的。不finally跑?

答案是会进行运行

那如果是try里面是一个return语句呢?是否还会走finally?

答案是会运行。

 finally上的块将始终运行trycatchfinally  - 即使你提前保释例外或者return

这就是它如此有用的原因; 无论发生什么情况,它都是放置需要运行的代码的理想场所,比如容易出错的IO的清理代码。事实上,这就是本文的灵感来源。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值