go语言中错误处理方式:

defer,panic,recover。

go中可以抛出一个panic异常,然后在defer中,通过recover捕获这个异常,然后进行处理。

示例:err1.go代码

package errlabimport "fmt"//defer recover 来处理错误func Testerr(){//使用defer+recover来捕获和处理异常//匿名函数defer func(){err:=recover()  //recover()是内置函数,可以捕获异常if err!=nil{   //捕获到错误fmt.Println("err=",err)}}()num1:=10num2:=0res:=num1/num2fmt.Println("res=",res)   //err= runtime error: integer divide by zero
}

main主函数

func main() {//错误err的练习errlab.Testerr()fmt.Println("错误后是否会输出@!!")}

输出结果:

err= runtime error: integer divide by zero
错误后是否会输出@!!

上面的异常,没有影响主程序的代码,主程序继续向下执行了

“”“错误后是否会输出@!”内容---》说明主程序继续执行了。


自定义错误类型:


func Dingyierr(){callconfig()fmt.Println("callconfig的函数以及下面的代码!")}//函数去读取配置文件config。int的信息
//如果文件名不正确就是返回错误
func readconfig(name string )(err error){if name=="config.ini"{return nil}else {return errors.New("读取文件错误...")   //自定义错误内容事项}
}//调用上面的函数readconfig()
func callconfig(){err:=readconfig("config2.ini")if err!=nil{//如果读取文件发送错误,就是输出这个错误,并终止程序panic(err)   //panic后,就是终止了程序继续执行了!!!}fmt.Println("callconfig继续执行。。。。")
}

go语言中错误处理方式相关推荐

  1. C语言中文件读写方式r 的作用,C语言文件读写操作主要函数及其用例

    C语言把磁盘文件看成是字符(或字节)的序列,按照存储信息的形式来说,文件主要是有文本文件和二进制文件.文本文件由一个个字符组成,每个字节存放一个ASCII码制,代表一个字符.二进制文件把内存中的数据按 ...

  2. 【chatGPT】01 数组、二维数组在不同语言中的存储方式

    问:数组在C++中的存储方式是什么?Java呢?Python呢?可以举例吗? C++ 在C++中,数组是连续分配的内存单元,具有相同的类型和大小. C++会将数组的第一个元素存储在指向数组的指针中,因 ...

  3. c语言中错误executing,C语言编程中常见问题解读.doc

    C语言编程中常见问题解读 为什么vc6打开的文件却不能编译1 为什么一个vc6工程中有两个main函数不能编译成功?我想写两个程序怎么办?2 为什么v6不能编译程序,生成信息说compile和link ...

  4. c语言中一般命名方式,C语言常见命名规则

    1 常见命名规则 比较著名的命名规则首推匈牙利命名法, 这种命名方法是由Microsoft程序员查尔斯·西蒙尼(Charles Simonyi) 提出的. 其主要思想是"在变量和函数名中加入 ...

  5. c语言中错误c2062,C/C++编译器错误消息大全

    C/C++编译器错误消息大全 初始值设定项可能括在了括号中.为避免该问题,请将声明符括在括号中或使其成为 typedef. 在编译器将表达式作为类模板参数检测时也可能导致此错误;使用 typename ...

  6. c语言中错误为ffblk未定义,C - 错误没有定义和存储未知

    我有这个代码删除目录.我有header1.h,header1.c,main.c. 我得到一些错误,但一个是我更难以理解的错误是: (1)存储大小ffblk未知. 另外,我有疑问如何定义ffblk的属性 ...

  7. go语言中错误的处理和实现自己的错误处理类型

    package mainimport ("errors""fmt" )func main() {/*错误:在可能出现问题的地方出现问题, 如打开一个文件打开失败 ...

  8. c语言中错误c2228,错误:C2228:''必须有class/struct/union

    我是一个很长时间的Java用户用Qt学习C++,我在理解方法如何工作方面遇到了很多麻烦.现在,我正在试图找出数据库,并试图用标题简化我的代码.通常在Java中我只有一个名为DatabaseContro ...

  9. 怎么让c语言程序右边对齐,c语言中的对齐方式

    对齐有自然对齐(Natural)和指点对齐(Assign). 自然对齐指数据类型本身的对齐方式,例如 int为4,float为4,double为8. 指定对齐为编译器默认的对齐方式(VC默认为8)或用 ...

  10. c语言中错误c2061,error C2061: 语法错误: 标识符“_Wherenode”

    昨天同事说,类里加了个静态的vector类型的公共成员后,在其他类里调用,操作该成员,编译出错. 1>d:\program files\microsoft visual studio 9.0\v ...

最新文章

  1. 大脑的学习方式如何,机器学习与生物学习的联系将提供「答案」
  2. 会话跟踪技术Cookieless
  3. python微信自动机器人
  4. 30分钟带你熟练性能优化的那点儿事儿(案例说明)
  5. matlab/simulink常见问题汇总
  6. QQ2009任务栏的QQ图标怎么隐藏
  7. Alone in Office
  8. lisp方格网法计算土方量_CAD土方软件方格网法与三角网法相结合,准确计算土方量...
  9. java线程安全问题原因及解决办法
  10. 用idea建立jsp项目_用idea创建maven项目,配置tomcat详解
  11. 图灵机概念的javascript演示
  12. 微服务学习之Hystrix容错保护【Hoxton.SR1版】
  13. 关于openstack部分计算节点无法实现热迁移问题描述
  14. 使用快捷工具搜狗词库转txt和mmseg
  15. echarts地图添加图片
  16. WindowsX64下tftp的安装
  17. 几款基于ODE的机器人仿真软件
  18. XML解析之 MSXML应用总结 开发篇(上)
  19. 数据可视化大屏的4大优势盘点,超实用!
  20. python基础读后感_《Python基础教程读书笔记》

热门文章

  1. JS执行一次任务与定期任务与清除执行
  2. Java常用的排序查找算法
  3. js 时间格式与时间戳的相互转换示例代码
  4. 3ds max 2012 VRay 2.0-3ds max 从入门到精通-元旦场景材质设置
  5. JS调用ATL DLL
  6. Python3.6下安装爬虫scrapy框架的安装步骤以及遇到的诸多问题
  7. 【Landsat 8】介绍
  8. Anaconda for win10下载与安装
  9. JS学习总结(9)——String
  10. Java 单向链表翻转