JavaScript中的大型try-catch块

时间:2015-10-29 13:57:09

标签: javascript jquery callback try-catch

在JavaScript中使用一个大的try-catch块以便将所有代码包含在jQuery的文档就绪事件中是一个好习惯吗?

有些同事写这样的代码

echo '{"monto": "'.$monto[0]->valor.'","moneda":"'.$moneda[0]->nombre.'","simbolo":"'.$moneda[0]->simbolo.'"}';

因此他们处理代码中抛出的任何错误

这种方法是正确的吗?如果没有,我应该如何处理JavaScript中的错误?在异步函数中,如何处理回调中的错误?特别是在准备文件中。

1 个答案:

答案 0 :(得分:1)

我认为大多数在JavaScript中使用try catch的开发人员都来自try-catch块很常见的语言,比如Java。

在JavaScript中,即使支持它,它也有很多缺点。

例如,即使回调本身在try-catch块内被词法定义,它也不会捕获任何异步回调。

这个link将为您提供一些答案,说明为什么不建议滥用您的JS代码中的try catch。

我发现其中一个主要缺点是像V8这样的JS引擎不会优化(目前)try-catch中的任何代码。

思想:
对于我来说,我习惯只使用try catch来代码

var x = JSON.parse(string);

并且只有这样的操作的结果对于程序的其余部分的良好操作不是强制性的,因为对于这样的操作没有真正的错误处理程序替代(如果它失败,则代码停止工作)。