golang错误处理之panic和recover
发布时间:2020-12-16 18:36:08 所属栏目:大数据 来源:网络整理
导读:panic()类似c++中的throw recover()类似c++中的catch func CopyFile(SrcFileName,DstFileName string) (w int64,err error) {defer func() {if r := recover(); r != nil {fmt.Printf("Runtime error is %vn",r)}}()SFile,e := os.Open(SrcFileName)if e !=
panic()类似c++中的throw recover()类似c++中的catch
func CopyFile(SrcFileName,DstFileName string) (w int64,err error) { defer func() { if r := recover(); r != nil { fmt.Printf("Runtime error is %vn",r) } }() SFile,e := os.Open(SrcFileName) if e != nil { panic("the src file is not exist...") return } defer SFile.Close() DFile,e := os.Create(DstFileName) if e != nil { panic("the dst file is not exist...") return } defer DFile.Close() // anonymous function /* defer func() { SFile.Close() DFile.Close() } */ return io.Copy(DFile,SFile) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |