在golang中對錯(cuò)誤的處理,我這里是自己練習(xí)的總結(jié)。
1、將錯(cuò)誤信息記錄到日志里面
2、panic,然后利用recover函數(shù)進(jìn)行異常捕獲。(我這里僅僅是做了一個(gè)簡單的例子,用來記錄這個(gè)用法)
function A調(diào)用function B ,這里可以在 function A中使用recover也可以在function B中使用
*********************將日志信息保存到日志的代碼****************************
//向登錄日志里面寫數(shù)據(jù)
//filename:為要保存日志的文件名
//content:為要向日志添加的內(nèi)容
funcWrite_user_Info(filename,contentstring) {
file,err := os.OpenFile(filename,os.O_APPEND|os.O_RDWR|os.O_CREATE,0666)
iferr != nil {
log.Println("打開文件失敗.....",err)
return
}
deferfile.Close()
usr_time := time.Now().Format("2006-01-02 15:04:05")
content = fmt.Sprint(usr_time,"? ",content,"\r\n")
_,err = file.WriteString(content)
iferr != nil {
log.Println("向日志中寫數(shù)據(jù)失敗.......",err)
return
}
}
*********************利用panic和recover函數(shù)****************************
funcTest_painc(T *testing.T) {
log.Println(getInt())
}
funcgetInt()int{
defer func()int{
iferr :=recover();err != nil {
log.Println(err)
}
log.Println("recover........continue")
return3
}()
log.Println("begin...........begin")
panic("hello panic")
}