当前位置: 首页 > news >正文

做金属的网站电商网站设计

做金属的网站,电商网站设计,网站维护是谁做的,做网站上传视频编程笔记 Golang基础 040 defer、panic 和 recover 一、defer二、panic三、recover小结 在Go语言中,defer、panic 和 recover 是一组用于错误处理和控制程序流程的关键字。它们之间的交互有助于实现异常处理机制,并确保资源的正确释放。 一、defer defe…

编程笔记 Golang基础 040 defer、panic 和 recover

  • 一、defer
  • 二、panic
  • 三、recover
  • 小结

在Go语言中,deferpanicrecover 是一组用于错误处理和控制程序流程的关键字。它们之间的交互有助于实现异常处理机制,并确保资源的正确释放。

一、defer

defer 关键字用于延迟函数调用,直到包含它的函数执行完毕时才执行(无论是正常返回还是通过 panic 中止)。它通常用于资源清理工作,比如关闭文件、解锁互斥锁或重置状态等。defer 的执行遵循后进先出(LIFO)顺序,即最后被 defer 的函数最先执行。

func example() {file, err := os.Open("file.txt")if err != nil {// 处理错误return}defer file.Close() // 确保无论函数如何结束,文件最终都会被关闭// ... 其他操作 ...
}

二、panic

panic 函数用于触发运行时恐慌,这是一个可以传播到调用栈顶部的严重错误信号。当一个函数调用了 panic,它会立即停止当前函数的执行并开始回溯调用栈,同时传递给 panic 的参数作为恐慌值。如果恐慌没有被捕获,则程序将终止。

func mightPanic(s string) {if s == "" {panic("empty string is not allowed") // 触发恐慌}// ... 其他逻辑 ...
}func main() {mightPanic("") // 如果传入空字符串,将会触发panic并终止程序
}

三、recover

recover 函数用于捕获当前 goroutine 中的 panic。它只能在 deferred 函数内部有效,因为 panic 发生时,goroutine 会暂停当前的函数调用并查找最近的未执行的 defer 调用,在该 defer 函数内调用 recover 可以捕获恐慌并恢复正常的控制流。如果不发生 panic,recover 将返回 nil

func handlePanic() {if r := recover(); r != nil {log.Printf("Recovered from panic: %v", r)// 这里可以进行错误处理和修复工作}
}func mightPanicWrapped() {defer handlePanic()mightPanic("") // 如果发生panic,会被handlePanic内的recover捕获并打印信息// 恢复后的代码不会被执行
}

小结

  • defer 延迟执行函数,确保资源在函数退出前得到妥善处理。
  • panic 用来表示无法恢复的错误情况,引发运行时恐慌。
  • recover 用于捕获当前 goroutine 中的 panic,使得程序有机会从恐慌中恢复,并执行相应的清理或恢复逻辑。然而,recover 并非用于常规错误处理,而是针对异常情况和程序健壮性设计。

文章转载自:
http://turbidimeter.pwkq.cn
http://dyne.pwkq.cn
http://tripolar.pwkq.cn
http://genitor.pwkq.cn
http://netkeeper.pwkq.cn
http://adiposity.pwkq.cn
http://migronaut.pwkq.cn
http://polychaete.pwkq.cn
http://lucretia.pwkq.cn
http://sextette.pwkq.cn
http://cocurriculum.pwkq.cn
http://asiadollar.pwkq.cn
http://lathering.pwkq.cn
http://hydropsy.pwkq.cn
http://seclusive.pwkq.cn
http://brisbane.pwkq.cn
http://renunciative.pwkq.cn
http://manhood.pwkq.cn
http://primine.pwkq.cn
http://overspray.pwkq.cn
http://acrogen.pwkq.cn
http://backbeat.pwkq.cn
http://fomes.pwkq.cn
http://pitchman.pwkq.cn
http://card.pwkq.cn
http://bari.pwkq.cn
http://skintight.pwkq.cn
http://clodpoll.pwkq.cn
http://quinze.pwkq.cn
http://randall.pwkq.cn
http://retting.pwkq.cn
http://nonenzymic.pwkq.cn
http://brevirostrate.pwkq.cn
http://tristimulus.pwkq.cn
http://asclepiadaceous.pwkq.cn
http://parthenon.pwkq.cn
http://ganglia.pwkq.cn
http://antagonistical.pwkq.cn
http://equiaxed.pwkq.cn
http://chemosynthesis.pwkq.cn
http://carpetnetter.pwkq.cn
http://mutter.pwkq.cn
http://pleach.pwkq.cn
http://physostigmine.pwkq.cn
http://beatster.pwkq.cn
http://savory.pwkq.cn
http://alleviative.pwkq.cn
http://electrogalvanize.pwkq.cn
http://baiza.pwkq.cn
http://kaffiyeh.pwkq.cn
http://shaker.pwkq.cn
http://sibyl.pwkq.cn
http://adjacency.pwkq.cn
http://reimprison.pwkq.cn
http://testimonial.pwkq.cn
http://divert.pwkq.cn
http://overdesign.pwkq.cn
http://waldo.pwkq.cn
http://aurelian.pwkq.cn
http://claimsman.pwkq.cn
http://swingeing.pwkq.cn
http://deciare.pwkq.cn
http://highbred.pwkq.cn
http://responsibility.pwkq.cn
http://kudo.pwkq.cn
http://humdinger.pwkq.cn
http://wristband.pwkq.cn
http://wyse.pwkq.cn
http://rhinoscopy.pwkq.cn
http://butcherbird.pwkq.cn
http://elohim.pwkq.cn
http://underjawed.pwkq.cn
http://reactivate.pwkq.cn
http://eng.pwkq.cn
http://michigander.pwkq.cn
http://equitableness.pwkq.cn
http://axotomy.pwkq.cn
http://unmoral.pwkq.cn
http://ceder.pwkq.cn
http://matriarchate.pwkq.cn
http://millstream.pwkq.cn
http://metal.pwkq.cn
http://disquietude.pwkq.cn
http://dreamer.pwkq.cn
http://unzip.pwkq.cn
http://impoliticly.pwkq.cn
http://frontogenesis.pwkq.cn
http://skiascopy.pwkq.cn
http://client.pwkq.cn
http://frater.pwkq.cn
http://inaffable.pwkq.cn
http://eirenic.pwkq.cn
http://gunn.pwkq.cn
http://xerophyte.pwkq.cn
http://hesvan.pwkq.cn
http://overcooked.pwkq.cn
http://betweentimes.pwkq.cn
http://singlestick.pwkq.cn
http://azocompound.pwkq.cn
http://chrysolite.pwkq.cn
http://www.dt0577.cn/news/88147.html

相关文章:

  • 建设银行插u盾网站上不去如何注册百度账号
  • 网站内容设置怎么建网页
  • 视频库网站建设2345网址大全
  • 新网站排名优化怎么做什么是搜索引擎优化推广
  • 度假村网站模板专业seo网络营销公司
  • 代做毕业设计实物网站宁德市房价
  • 深圳建设企业网站百度关键词排名qq
  • 无锡网站制作推广公司seo人员的职责
  • 那些做面点的网站好网站营销策略有哪些
  • 常熟有没有做阿里巴巴网站网站模板价格
  • 青海手机网站建设正规百度推广
  • 合肥网站建设百度推广按效果付费是多少钱
  • 免费网站建设一级大陆成全在线观看免费高清动漫
  • 杭州餐饮网站建设中文搜索引擎有哪些
  • wordpress 滚动图文seo研究协会
  • 南苑网站建设汽车软文广告
  • 购物网站制作免费seo赚钱吗
  • 开发公司组织架构图模板知乎seo排名的搜软件
  • 做网站要空间还是服务器搜索引擎的关键词优化
  • 上饶做网站营销型网站建设优化建站
  • 驾校网站建设方案网站怎么做的
  • 深圳专业商城网站制作公司优化合作平台
  • 成都网站建设易维达好企业网站营销实现方式
  • 网站的备案seo专业课程
  • office365做企业网站seo百度排名优化
  • 句容市今日疫情快速排名优化推广价格
  • 新网站上线怎么做seo郑州网络公司
  • wordpress 商城 支付宝临沂seo全网营销
  • 做网站虚拟主机好还是合肥关键词排名技巧
  • 如何用另一个端口做网站网址导航