Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中引入try-catch块是否被认为是性能不好的?_Javascript_Try Catch - Fatal编程技术网

在JavaScript中引入try-catch块是否被认为是性能不好的?

在JavaScript中引入try-catch块是否被认为是性能不好的?,javascript,try-catch,Javascript,Try Catch,可能重复: 我的一位同事告诉我,在javascript中使用大量的try-catch块将在性能上大受欢迎。这种说法是真的吗?如果是,为什么 简短的回答,是的,他是对的。为了工作,try/catch语句必须处理引擎盖下的某些事情。例如,它将扩展范围查找链(在现代环境中这可能不是什么大问题),但它特别需要评估try block中的任何代码,以确定是否有任何错误抛出 无论如何,try/catch块是使代码稳定的好机会。但是,您应该始终将其应用于代码中可能的最小部分,当然,只有在确实需要的情况下(例如

可能重复:


我的一位同事告诉我,在javascript中使用大量的try-catch块将在性能上大受欢迎。这种说法是真的吗?如果是,为什么

简短的回答,是的,他是对的。为了工作,
try/catch
语句必须处理引擎盖下的某些事情。例如,它将扩展范围查找链(在现代环境中这可能不是什么大问题),但它特别需要评估
try block
中的任何代码,以确定是否有任何错误抛出

无论如何,
try/catch
块是使代码稳定的好机会。但是,您应该始终将其应用于代码中可能的最小部分,当然,只有在确实需要的情况下(例如,避免您无法解决的特定于浏览器的bug/错误)。将所有脚本放在一个大的
try/catch
块中肯定是最糟糕的主意。

是的。在dev.opera.com上有一个网站

这可能是因为try-catch块对结果对象具有特定的、不寻常的处理,它们需要检查其类型是否为
throw
。然后,执行
catch
块并不像代码中看起来那么容易。请参阅以获取进一步阅读


尽管如此,try-catch子句还是一个强大的特性,应该在适当和有用的地方使用它们。但是,与其将它们放在性能关键型函数中,不如将它们包装起来,这样它们就不会执行得太频繁。

看看@Geek我喜欢你的评级,一点也不要更改@BillyMoon我被迫否决投票……你所说的“特别需要在
try
-块中评估代码”是什么意思?如果没有try-catch,人们不需要这样做吗?