golang中错误处理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | package main import ( "errors" "fmt" ) //错误处理 /* 1.在默认情况下,当发生错误后,程序就会退出 2.当发生错误后,可以捕获到错误,并进行处理,保证程序可以继续执行。 3.还可以在捕获错误后,给管理员一个提示。 defer,panic,recover Go抛出一个panic异常,然后在defer中通过recover捕获这个异常,正常处理 加入预警代码,可以让程序更加健壮 */ func test() { //处理异常 defer func () { err := recover() //可以捕获到异常 if err != nil { fmt.Println( "err=" , err) //可以将错误发送给管理员 } }() num1 := 10 num2 := 0 res := num1 / num2 //异常 fmt.Println( "res=" , res) } /* 自定义错误 Go程序中,支持自定义错误,使用errors.New和panic内置函数 errors.New("错误说明"),会返回一个error类型的值,表示一个错误 panic内置函数,接受一个interface{}类型的值作为参数,可以接受error类型的变量,输出错误信息并退出程序 */ //函数读取配置文件init.conf的信息 //如果文件名传入不正确,我们就返回一个自定义的错误 func readConf(name string) (err error) { if name == "config.ini" { //读取 return nil } else { //返回一个自定义的错误 return errors.New( "文件读取错误" ) } } func test02() { err := readConf( "config2.ini" ) if err != nil { //如果读取文件发送错误,就输出这个错误并终止程序 panic(err) } fmt.Println( "test02()继续执行" ) } func main() { test() test02() fmt.Println( "后续~" ) } |
__EOF__

本文作者:StarGazer
本文链接:https://www.cnblogs.com/PatrickStarGazer/p/15931159.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/PatrickStarGazer/p/15931159.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫