10,golang 错误处理,panic终止程序执行慎用

package main

import (
"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
}
posted @ 2019-09-08 22:47  蓝静空  阅读(2377)  评论(0编辑  收藏  举报