云原生CTOk8s二次开发专题课
有几种方式可以触发一个 panic:
调用函数来引发 panic
除 0
关闭一个已经关闭的 channel
映射不存在的属性,比如
Attribute = map["This doesn’t exist"]

另一方面,error 是一个內建类型,这种类型表示能自声明为字符串类型的值。这是从 Go 源代码引用的定义:
type error interface {
Error() string}
根据以上定义,这是对于为什么我们讨厌 Go 拥有 error 和 panic 的总结:
Error 是为了避免异常流,而 panic 抵消了这种作用
对于任何一种编程语言,只要拥有 error 和 panic 其中之一就足够了