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
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM