9

我查看了underscore.js 和backbone.js 这两个非常流行的库,并注意到它们不使用错误处理(try、catch、exception)。

这个决定的原因是什么?

4

2 回答 2

7

实际上,当您编写高质量的 javascript 代码时,您实际上并不需要 try/catch。异常逻辑通过 if 条件和错误处理程序来处理,而不是在运行时捕获异常。

于 2012-07-15T16:21:29.450 回答
3

快速浏览一下这些库确实揭示了 and 的多种用途throwcatch因此它们确实使用了异常,尽管很少使用。

当额外的参数可能使函数变得繁琐和不可读和/或运行代码的“正常”前提条件被严重破坏超出可预测的错误情况时,异常很有用。

使用术语“错误处理”似乎有点令人困惑,就好像您避免异常但从函数传回错误值一样,这仍然是错误处理。

于 2013-01-24T11:04:43.403 回答