Golang的错误处理笔记
错误处理
看一段代码,因此错误处理
- 在默认情况下,当发生错误后(panic) ,程序就会退出(崩溃.)
- 如果我们希望:当发生错误后,可以捕获到错误,并进行处理,保证程序可以继续执行。还可 以在捕获到错误后,给管理员一个提示(邮件,短信。。。)
- 这里引出我们要将的错误处理机制
基本说明
- Go 语言追求简洁优雅,所以,Go 语言不支持传统的 try…catch…finally 这种处理。
- Go 中引入的处理方式为:defer, panic, recover
- 这几个异常的使用场景可以这么简单描述:Go 中可以抛出一个 panic 的异常,然后在 defer 中 通过 recover 捕获这个异常,然后正常处理
使用 defer+recover 来处理错误
错误处理的好处
进行错误处理后,程序不会轻易挂掉,如果加入预警代码,就可以让程序更加的健壮。看一个 案例演示:
自定义错误
自定义错误的介绍
Go 程序中,也支持自定义错误, 使用 errors.New 和 panic 内置函数。
- errors.New(“错误说明”) , 会返回一个 error 类型的值,表示一个错误
- panic 内置函数 ,接收一个 interface{}类型的值(也就是任何值了)作为参数。可以接收 error 类 型的变量,输出错误信息,并退出程序.
案例说明
Golang的错误处理笔记相关推荐
- Golang底层原理学习笔记(一)
LCY~~Golang底层原理学习笔记 1 源码调试 go源代码地址:GitHub - golang/go: The Go programming language 1.1 源码编译 现在的go语言大 ...
- golang游戏开发学习笔记-开发一个简单的2D游戏(基础篇)
此文写在golang游戏开发学习笔记-创建一个能自由探索的3D世界之后,感兴趣可以先去那篇文章了解一些基础知识,在这篇文章里我们要创建一个简单的2D游戏场景以及配套的人物,并实现人物运动和碰撞检测功能 ...
- golang游戏开发学习笔记-创建一个能自由探索的3D世界
此文写在golang游戏开发学习笔记-用golang画一个随时间变化颜色的正方形之后,感兴趣可以先去那篇文章了解一些基础知识,在这篇文章里,我们将创建一个非常简单(只有三个方块)但能自由探索的的3D世 ...
- python利用STMP发送gmail、QQ邮件错误及笔记总结
引言 本篇博文是一个我之前没有想要去关注,但就是这样看似轻松的事情,却出现了很多的bug,我尝试用了163,.QQ以及谷歌邮箱去发送邮件,中间遇到了很多波折,其中一根谷歌的小号邮箱也被封了,所以想在这 ...
- 同济高等数学第一章之经典错误知识点笔记
第一章经典错误及笔记 1.函数 1.复合函数 2.反函数 3.初等函数 2.极限 1.数列的极限 1.定义 2.数列的有界性: 3.数列的保号性: 2.函数的极限 1.定义 2.函数的有界性: 3.函 ...
- Go 学习推荐 —(Go by example 中文版、Go 构建 Web 应用、Go 学习笔记、Golang常见错误、Go 语言四十二章经、Go 语言高级编程)
Go by example 中文版 Go 构建 Web 应用 Go 学习笔记:无痕 Go 标准库中文文档 Golang开发新手常犯的50个错误 50 Shades of Go: Traps, Gotc ...
- python运维开发招聘_GitHub - PlutoaCharon/LiunxNotes: 校招-运维开发(Liunx,Python,Golang)面试学习笔记...
校招-运维开发(Liunx,Python,Golang)面试学习笔记 1. 网络基础类 2. Linux系统管理类 3. Linux服务管理类 4. 数据库管理 索引(包括分类及优化方式,失效条件 ...
- php框架全局自定义错误,[TP笔记]ThinkPHP自定义错误页面、成功页面及异常页面
看了前面分享的一篇<什么是真正的程序员?>,觉得自己离这个目标还差的很远,所以要抓紧朝着这个方向前进.作为一名PHP小码农,掌握一种框架是必须的.所以今天开始我们就从国产PHP框架 Thi ...
- golang编译错误 copying /tmp/go-build069786374/b001/exe/a.out: No such file or directory 解决方法
问题: linux虚拟机 golang编译 报错 copying /tmp/go-build069786374/b001/exe/a.out: No such file or directory 原因 ...
最新文章
- Agile DSL Development in Ruby 笔记
- 后APP时代的破局之路 :阿里技术“三大容器五大方案”亮相,百川开放全面升级...
- Cmake:linux中cmake添加动态库
- Kali安装magescan评估工具
- Delphi IDE扩展工具,在IDE中增加Google翻译器
- php7对象转换成数组,php 如何把对象转换成数组对象
- python逻辑回归代码_Logistic 逻辑回归及 python 实现
- lstrip和rstrip_Python装饰字符串– rstrip(),lstrip(),strip()
- 第四次课后作业及Sring类型的应用
- nodejs写的HTTP静态文件的引擎(轻量级)
- OpenCV相机帧率低以及花屏问题
- Python多环境扩展管理-Virtualenv
- 用友U815.0UFO报表知识点分享
- linux+时间戳+ns,时间戳转换工具
- 编程题:首尾相连的字符串
- shopex PHP Notice,shopex官网用PHP为SHOPEX增加日志功能代码
- epub编辑器apk_使用您喜欢HTML编辑器编辑ePub电子书
- index.php被修改,WordPress博客程序index.php 主页文件频繁被修改解决记录(已解决) - 勤勤学长...
- ZY Player 2.3.5 中文版 (全网视频播放器)
- 学习笔记(01):【孙伟老师UID课堂】设计师也能会的-WEB前端入门基础HTML+CSS视频教程-09综合表单标签讲解-1...