go 创建一个特殊的注解,用于指示函数会引发恐慌,

dy1byipe  于 4个月前  发布在  Go
关注(0)|答案(6)|浏览(36)

这对于一个特殊的注解标签或某种方式来记录一个函数可能发生恐慌的情况是有好处的。Godoc会检测到这个标签并显示一个特殊的标签或者⚠️符号。

8nuwlpux

8nuwlpux1#

接口上的方法呢?

inn6fuwd

inn6fuwd2#

特殊注解标签也可以应用于接口中的函数。然而,任何实现接口中函数的导出对象都可以记录恐慌。

gstyhher

gstyhher3#

如果传递了无效的输入,许多功能可能会发生恐慌。

aoyhnmkz

aoyhnmkz4#

它们都应该被标记为可能引发恐慌。
理由是Go鼓励你在不同的goroutines中并发地执行操作。
即使有恢复中间件的Web服务器,也无法保护在不同的goroutines中的恐慌。
这非常危险,因为很容易忘记一个函数可能会引发恐慌。将其标记为如此,是在它导致整个服务器崩溃之前我们能做的最少的事情。

bttbmeg0

bttbmeg05#

Go语言的文档注解的一个优点是它们不是模式化的,而godoc&Co.的一个优点是演示文稿是无杂乱的。恐慌应该简单地在文本中提到作为一个句子,就像任何其他值得注意的事情一样应该在文本中提到。

kuuvgm7e

kuuvgm7e6#

我认为如果这是自愿和手动完成的,那么这不是一个好主意,因为这无法涵盖事物恐慌的无数方式,并且在用户看不到标记时会引导他们进入一种错误的安全感。

相关问题