前端之家收集整理的这篇文章主要介绍了
10,golang 错误处理,panic终止程序执行慎用,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
package mainimport ( "errors" "fmt" "io/IoUtil")type error interface{ Error() string}/* golang中错误处理,在golang中错误是一种类型,默认如果没有发生错误,返回的错误值讲为nil if err !=nil{ something went wrong } golang 的错误类型error 可以像其他一样在函数之间传递错误 panic 让golang程序马上停止执行,慎用。除非极端情况程序将带来很多问题或者发生了无法处理的错误 if err!=nil{ panic(err) } golang 语言不支持 try --catch--finally控制结构*/func main(){ var file []byte var err error file,err =IoUtil.ReadFile("foo.txt") if err!=nil{ fmt.Println("111") fmt.Println(err) return } fmt.Println(string(file)) //文件中读出来的字符串是一个byte类型的数组 []byte,需要string转换成文字 err1 :=errors.New("Something went wrong") if err1 !=nil{ fmt.Println(err1) } panic("oh no ican do no more.Goodby") //panic可以导致程序立即停止执行,慎用 name,role:="Richard Jupp","Drummer" err2:=fmt.Errorf("The %v,%vquit",role,name) if err2!=nil{ fmt.Println(err2) }}func Half(numberToHalf int)(int,error){ if numberToHalf%2 !=0 { return -1,fmt.Errorf("Cannot half %v",numberToHalf) } return numberToHalf/2,nil}