TypeScript中错误抛出函数的签名

时间:2017-06-27 12:39:34

标签: function typescript error-handling signature throws

是否有一种“最佳实践”方式,如何使用此函数抛出错误的信息在TypeScript中标记函数?

在Java中,人们会用“throws XYError”来注释函数的签名。这不适用于TypeScript。

我知道代码不需要运行,但就我而言,当函数签名已经告诉我这些信息时它是更干净的代码。

对于你们如何处理这种情况的任何合理的提示都表示赞赏。

1 个答案:

答案 0 :(得分:-2)

您的函数应返回Promise。这是表示异步操作最终完成或失败的自然方式。

这仅适用于异步功能。在我看来,最好的做法是不要从同步函数中抛出异常。

  • 访问文件,数据库,网络服务 - 这些应该是异步的

  • 参数超出范围 - 传统上这不是javascript中的错误:pop()从空数组返回undefinedsubstring()无效范围返回空字符串,这个IMO是一件好事 - 它会在调用者中产生更清晰的代码

  • 参数为null - 使用--strictNullChecks编译,然后您可以依赖调用者永远不会传递null

  • 堆栈溢出,内存不足 - 这些都没有显式抛出,声明它们没有意义,因为任何函数都可能抛出它们(在Java中,这些是运行时异常,也不会被检查)

还有什么可以保证从同步功能中抛出异常吗?如果是的话,我认为在语言中得到明确的支持是非常罕见的。

相关问题