go語言中錯(cuò)誤分為error和panic
error
1.錯(cuò)誤變量
var ErrorTimeout = errors.New("The request timed out")
2.自定義錯(cuò)誤類型
type ParseError struct {
Message string
line, char int
}
3.錯(cuò)誤類型返回
func test(input string) (string, error)
panic
異常處理
1.painc()異常拋出
2.recover() 異常捕獲,捕獲祖父級別函數(shù)棧幀的異常
3.異常按照錯(cuò)誤處理panic(error.New("error: ..... "))
1.gorontine 中異常的處理
對于goroutine的處理
error如果在新開辟的goroutine中可能產(chǎn)生錯(cuò)誤,定一個(gè)自定義類型,將結(jié)果和錯(cuò)誤一塊封裝返回到付goroutine中處理
panic如果在新開辟的goroutine中可能產(chǎn)生painc,需要在自己的goroutine中進(jìn)行處理。