我查看了underscore.js和backbone.js这两个非常受欢迎的库并注意到它们不使用错误处理(try,catch,exception)。
这个决定的原因是什么?
答案 0 :(得分:7)
实际上,当您编写高质量的JavaScript代码时,您并不需要尝试/ catch。异常逻辑通过条件和错误处理程序来处理,而不是在运行时捕获异常。
答案 1 :(得分:3)
快速查看这些库确实揭示了throw
和catch
的几种用法,因此他们确实使用了例外,尽管很少。
如果额外的参数会使函数变得繁琐且难以理解,并且/或者运行代码的“正常”前提条件已严重超出可预测的错误情况,则异常非常有用。
使用术语“错误处理”似乎有点令人困惑,就好像你避免了异常,但是从函数中传回了一个错误值,这仍然是错误处理。