JS库最佳实践:在输入错误的函数时返回未定义或抛出错误?

Tho*_*mas 5 javascript coding-style

用JavaScript编码库时,处理函数无效输入的最标准(最友好的方法)是什么?我的直觉告诉我,返回undefined完全可以,但是实际上抛出错误是否更有用?还是真的没关系吗?

我还可以看到返回false,null甚至-1,但是我认为这些不会像人们期望的那样。

(如果这个问题太主观,我很乐意将其设为连续。)

jfr*_*d00 1

例外的优点:

  • 如果错误很少发生(正常操作中不会出现),那么调用代码在更高级别的位置捕获异常可能比在每次 API 调用后测试返回值更容易、更快捷。

例外的缺点:

  • 捕获异常比测试返回值慢很多,因此如果错误经常发生,那么异常会慢很多。
  • 如果调用代码要检查它们进行的每个 API 调用的错误(而不是在更高级别捕获异常),那么围绕每个 API 调用编写异常比仅仅测试返回值更麻烦。

  • 速度并不重要:例外就是例外,意味着它很少发生。如果您已经预计它会发生,请不要使用“例外”(因为在这种情况下,它听起来更像是“规则”,这并不一定意味着它是最常见的情况)。异常处理意外的事情,一些确实不应该发生的事情。处理正常程序流程中的预期。只是一个意见(采纳其他人的意见)。 (4认同)