代码: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. 2023 USNews全美计算机研究生院排名发布!MIT、CMU分别称霸总榜和AI分榜
  2. Survey | 基于图卷积网络的药物发现方法
  3. maven Ubuntu14.04 安装
  4. linux下软件安装与yum源码库的设置
  5. 示廓灯——也就是前后位置等开启方法 还有该死的刮水器是长这样的
  6. 浅析Android中的消息机制
  7. 在iOS平台上使用TensorFlow教程(上)
  8. docker概念很乱?俺来替你理一下!
  9. 每天坚持不懈的写软文,得到的几点心得感悟
  10. x=a%pq与x=a%p,x=a%q的关系(pq互质)
  11. Python获取代理IP地址
  12. [转载]ASP.NET 格式化字符串
  13. 个人宏工作簿PERSONAL.XLSB 保存位置 启动加载项
  14. Problem D. Nothing is Impossible
  15. springboot学习笔记-5 springboot整合shiro
  16. JavaScript Oriented[探究面向对象的JavaScript高级语言特性]
  17. bzoj3944 Sum
  18. Android Studio failed to resolve:com.android.support.appcompat-v7:28+ 报错
  19. paip.没有源码的情况下更改ASP.net ASPX页
  20. 用python做归结演绎推理_python基础归结

热门文章

  1. 对抗模拟浏览器的DDoS攻击
  2. React 源码剖析系列 - 不可思议的 react diff
  3. Microsoft Office Communications Server 2007 R2 RTM 简体中文企业版部署速成篇之一
  4. Linux下修改IP
  5. 华为 2017 秋季校招笔试题(C++ 后台)
  6. Mybatis的SQL注入
  7. 组合,Mixin,类、类对象、实例对象
  8. Leetcode 448. Find All Numbers Disappeared in an Array
  9. luogu P1462 通往奥格瑞玛的道路
  10. jmeter使用中的问题