云原生CTOk8s二次開發(fā)專題課
2022-09-25 22:17 作者:娜娜絡(luò)絡(luò) | 我要投稿
有幾種方式可以觸發(fā)一個 panic:
調(diào)用函數(shù)來引發(fā) panic
除 0
關(guān)閉一個已經(jīng)關(guān)閉的 channel
映射不存在的屬性,比如?
Attribute = map["This doesn’t exist"]

另一方面,error 是一個內(nèi)建類型,這種類型表示能自聲明為字符串類型的值。這是從 Go 源代碼引用的定義:
type error interface {
? ?Error() string}
根據(jù)以上定義,這是對于為什么我們討厭 Go 擁有 error 和 panic 的總結(jié):
Error 是為了避免異常流,而 panic 抵消了這種作用
對于任何一種編程語言,只要擁有 error 和 panic 其中之一就足夠了
標簽: