是否存在一种“最佳实践”方式,可以让人们在 TypeScript 中使用该函数抛出错误的信息来标记该函数?
在 Java 中,人们会用“throws XYError”来注释函数的签名。这不适用于 TypeScript。
我知道运行代码不需要它,但就我而言,当函数签名已经告诉我此类信息时,它是更清晰的代码。
对于你们如何处理这种情况的任何合理提示,我们表示赞赏。
最佳答案
你的函数应该返回一个 Promise .这是表示异步操作最终完成或失败的自然方式。
这仅适用于异步函数。在我看来,最好的做法是根本不要从同步函数中抛出异常。
访问文件、数据库、网络服务 - 这些应该是异步的
参数超出范围 - 这在传统上不是 javascript 中的错误:
pop()
从空数组返回undefined
,substring()
无效范围返回空字符串,这是 IMO 的好事 - 它会导致调用者的代码更清晰参数为 null - 使用
--strictNullChecks
进行编译,然后您可以依赖调用者永远不会传递null
堆栈溢出,内存不足 - 这些都不会被显式抛出,声明它们没有意义,因为任何函数都可能抛出它们(在 Java 中,这些是运行时异常,也不会被检查)
还有什么可以保证从同步函数中抛出异常吗?如果是,我认为在该语言中有明确的支持就太罕见了。
关于function - TypeScript 中错误抛出函数的签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44780539/