代码:https://github.com/NIGHTFIGHTING/go_learning/blob/master/src/errhandling/recover/recover.go

package mainimport (//"errors""fmt"
)func tryRecover() {defer func() {r := recover()if err, ok := r.(error); ok {fmt.Println("Error occurred:", err)} else {//panic(r)panic(fmt.Sprintf("I don't know what to do: %v", r))//panic: 123 [recovered]//panic: I don't know what to do: 123}}()//panic(errors.New("this is an error"))//b := 0//a := 5/b//fmt.Println(a)//Error occurred: runtime error: integer divide by zeropanic(123)
}func main() {tryRecover()
}

7-4 panic和recover相关推荐

  1. Go 学习笔记(19)— 函数(05)[如何触发 panic、触发 panic 延迟执行、panic 和 recover 的关系]

    1. 异常设计思想 Go 语言的错误处理思想及设计包含以下特征: 一个可能造成错误的函数,需要返回值中返回一个错误接口( error ),如果调用是成功的,错误接口将返回 nil ,否则返回错误. 在 ...

  2. recover 没有捕获异常_GO语言异常处理机制panic和recover分析

    本文实例分析了GO语言异常处理机制panic和recover.分享给大家供大家参考.具体如下: Golang 有2个内置的函数 panic() 和 recover(),用以报告和捕获运行时发生的程序错 ...

  3. go的异常处理,defer,panic,recover

    比较经典的一个例子,里面包含defer,panic,recover 例子代码: package main import "fmt" func main(){ defer func( ...

  4. Golang中的panic和recover(捕获异常)

    Golang中的panic和recover(捕获异常) 参考文章: (1)Golang中的panic和recover(捕获异常) (2)https://www.cnblogs.com/zhzhlong ...

  5. Go 语言编程 — panic 和 recover

    目录 文章目录 目录 defer,panic 和 recover panic recover 通过 panic + recover 来简化错误处理 defer,panic 和 recover Gola ...

  6. golang中的panic和recover

    golang中的panic需要recover捕获,不然程序就会挂掉 package mainimport "fmt"func main() {f1()fmt.Println(&qu ...

  7. 关键字之defer、panic、recover

    一.defer                1. defer延迟调用,完成一些收尾工作.无论函数或方法是否出错,一定会在退出当前函数或者方法之前调用传入的函数(只对函数或方法生效,代码块不生效),常 ...

  8. 异常处理机制——panic 和 recover

    Golang 有2个内置的函数 panic() 和 recover(),用以报告和捕获运行时发生的程序错误,与 error 不同,panic-recover 一般用在函数内部.一定要注意不要滥用 pa ...

  9. Golang——error处理及panic、recover使用的正确姿势

    异常就是程序出现了不正常的情况,会导致程序非正常停止,而异常处理就是针对非正常停止的情况,给出异常时的处理方式.语法错误不算异常体系中 error: error是一个接口,作用是返回程序异常的信息,e ...

  10. 在golang中defer、panic与recover的作用

    package mainimport "fmt"func main() {var s strings = "panic"fmt.Printf("a的初 ...

最新文章

  1. 2011 总结 2012 计划
  2. iOS序列化与反序列化
  3. mysql varchar(max)_等价于MySQL中的varchar(max)?
  4. CSS可以实现可视化设计吗?要如何实现?
  5. Java基础篇之返回值
  6. 【HDU1251+POJ2001+POJ3630】单词前缀问题整理
  7. magisk 启动 安全 app
  8. winVNC 源代码分析
  9. 安装应用宝统一链接服务器,数据互通|安卓应用宝部分区服服务器数据互通维护公告...
  10. 校园网络设备巡检的准备工作
  11. 鸿蒙操作系统详细流程,鸿蒙系统的启动流程
  12. 【C语言语法】表达式与语句的区别与联系
  13. HDU 6148 - Valley Numer(数位DP)
  14. python统计中文字数_用 Python 统计字数
  15. Ubuntu 下 Pytorch, Tensorflow 对应的Python、英伟达显卡驱动、CUDA、CUDNN版本与环境信息查看方法
  16. 截取中国天气网天气信息(转)
  17. Scrapy: 为什么xpath和css明明是对的,但却爬不到任何内容?
  18. 7.在SAP Web上实现Punchout目录采购(第二部分)
  19. python冒泡排序算法思路_Python学习笔记(9)冒泡排序算法
  20. ubuntu安装floodlight时ant命令编译失败

热门文章

  1. 李洪强iOS开发之后使用XIB实现横向滚动的UIScrollView
  2. 说明Android应用调用全屏方式
  3. Jmeter-【JSON Extractor】-响应结果中数组多个相同key取值
  4. 转换和删除重复命令tr
  5. c语言 整数除以分数,2019年六年级数学上册 3.1分数除法(第1课时)分数除法的意义和整数除以分数练习题 新人教版 (I).doc...
  6. 网件rax40可以刷梅林_抢先一步体验WIFI6—网件RAX40 WIFI6路由器体验记
  7. 1100名达摩院“扫地僧”加持,阿里云的下一个十年
  8. DataFrame.apply()
  9. Qlik助力新西兰最大私人医院提高病患护理水平
  10. 易位构词EOJ3451【字符串】【思维题】【模拟】