defer推迟  recover恢复  panic恐慌

通过一个案例解释:发送邮件的 发送不成功要修改数据表的邮件发送状态值

发送邮件的内部sendEmail出现错误  要去修改数据表的状态值了

发送邮件的内部sendEmail错误进行panic报警

defer最后执行  执行defer里面的函数

使用recover进行捕获了错误  然后修改发送邮件状态值为不成功 程序结束执行

这就是panic defer recover进行配合完成try catch throw的功能

defer一定放在有内部函数的前面

package mainimport "fmt"func sendEmail() {// 相当于php的throw   发送邮件有错误进行报警panicpanic(" error ")
}func main() {// 相等于trydefer func() {// 相等于catch  recover进行捕获错误if r := recover(); r != nil {fmt.Printf("执行修改数据表状态值的动作  END")}}()sendEmail()}

Go案例说明defer panic recover相关推荐

  1. Go的异常处理 defer, panic, recover

    Go的异常处理 defer, panic, recover 参考文章: (1)Go的异常处理 defer, panic, recover (2)https://www.cnblogs.com/ghj1 ...

  2. go defer,panic,recover详解 go 的异常处理

    golang中defer,panic,recover是很常用的三个特性,三者一起使用可以充当其他语言中try-catch-的角色,而defer本身又像其他语言的析构函数 defer defer后边会接 ...

  3. golang panic recover return defer的逻辑顺序问题

    package mainimport "fmt"//验证golang return defer recover 之间的顺序关系func main() {defer func() { ...

  4. Go: panic / recover 简介与实践

    文章目录 简介 1.特性 2.panic触发流程 3.recover使用要点 4.使用场景 一.实践 1.跨线程失效 2.不起作用的recover 3.嵌套使用panic 4.注意事项 小结 简介 g ...

  5. go 异常捕获和处理(panic/recover)

    异常处理 Golang 没有结构化异常,使用 panic 抛出错误,recover 捕获错误. 异常的使用场景简单描述:Go中可以抛出一个panic的异常,然后在defer中通过recover捕获这个 ...

  6. go中宕机与恢复 panic/recover 介绍

    目录 一.panic 宕机 二.recover恢复 三.panic和recover的关系 Go 语言可以在程序中手动触发宕机,让程序崩溃,这样开发者可以及时地发现错误,同时减少可能的损失.Go 语言程 ...

  7. go panic recover 思考

    panic 作为 Go 异常的一种,类比其它语言的 Exception. 常见的 panic 有数组下标越界,或者除数为0,这类 panic 可以通过 recover 进行捕获.但要特别注意,程序发生 ...

  8. Go-defer,panic,recover

    defer 语法: defer function_name() 简单来讲,在defer所在函数执行完所有的代码之后,会自动执行defer的这个函数. 示例一(基本功能) package main im ...

  9. go panic recover 异常处理

    go panic recover 异常处理 参考文章: (1)go panic recover 异常处理 (2)https://www.cnblogs.com/zhishuai/p/8043064.h ...

最新文章

  1. Lnmp安装与配置笔记
  2. 美多商城之商品(商品搜索)
  3. 34.angularJS的{{}}和ng-bind
  4. faster rcnn论文_faster-rcnn论文思路及代码编译
  5. CSV文件读取和处理
  6. android: 播放音频
  7. access labsql 出错_一段由ACCESS转为SQL SERVER后出现的CINT错误
  8. linux模块加载和模块卸载时出现的问题
  9. python实践项目(一)
  10. Android 字母导航条实现
  11. python基础之模块初识
  12. Android API介绍
  13. Unix Windows
  14. python入门神器下载_Python编程神器 v3.7.2 最新免费版
  15. python中pop类型_Python基础之基本数据类型
  16. 张宇:概率论与数理统计公式总结
  17. 系统软件的成本构成与测算方式
  18. 大数据对生活有什么影响
  19. Matlab 中min(),min(min()),max(),max(max())的介绍和分析
  20. MybatisPlus极速入门教程

热门文章

  1. PowerDesigner中设置数据库类型,设置default value,Comment,自增属性,以及数据库设计中的需要考虑的示项,带有小数点的数据显示
  2. 远程拷贝、查看端口、vim常见快捷键、查找替换命令、grep命令、查看存储空间的命令、chkconfig命令、系统自动启动级别、主机名配置、IP地址配置、域名映射、防火墙设置
  3. c语言中字符串操作的工具类
  4. Linux crontab的使用方式,sh脚本的编写,sh脚本自动启动tomcat服务器,sh监控系统运行情况
  5. Mule ESB 学习笔记(11)Web Service Proxy(这里是一个可以正常运行的例子)
  6. Hive多字符列分割
  7. 钰群USB3.0音视频信号采集
  8. C++for循环中i++与++i的区别
  9. Internet Explorer 9.0 正式版试用一点小总结
  10. 更新整理本人全部博文中提供的代码与工具(Java,2014.09)