当前位置: 首页 > news >正文

搭理彩票网站开发青岛企业自助建站系统

搭理彩票网站开发,青岛企业自助建站系统,平面设计培训什么,南宁做网站找哪家公司【GO语言卵细胞级别教程】07.捕获异常和自定义错误 #x1f970;博主#xff1a;GokuCode #x1f970;微信公众号#xff1a;【给点知识】分享小知识#xff0c;快速成长,欢迎关注呀#xff01;#xff08;底部点击二维码#xff09; #x1f970;本项目演示代码仓库…【GO语言卵细胞级别教程】07.捕获异常和自定义错误 博主GokuCode 微信公众号【给点知识】分享小知识快速成长,欢迎关注呀底部点击二维码 本项目演示代码仓库https://gitee.com/gdzsfun/csdn-study-go 演示项目仓库 本项目创建方式【GO语言卵细胞级别教程】05.项目创建和函数讲解 学习宗旨活到老学到老。 写作宗旨致力于改变现有文章难读难懂问题。 目录 1简介2 详细介绍3 deferrecover异常捕获 4.自定义错误4.1 介绍 1简介 程序中出现异常的时候可以进行不报错处理继续执行程序 2 详细介绍 场景我们写程序的时候难免会出现异常情况比如如下的程序出现了分母为0的情况这个时候使用除法的时候会造成异常情况。 package mystudy // 错误处理 import (fmt ) func DemoErrorDetail()(result int){fmt.Println(------错误处理------)num1 : 12num2 : 0result num1 / num2fmt.Println(result)return result }异常程序会出现异常报错如下信息:panic代表恐慌的意思也就是go语言中的异常 panic: runtime error: integer divide by zero goroutine 1 [running]:com.gdzs/goproject/src/com/gdzs/mystudy.DemoErrorDetail() D:/07.go/02.gostudy/goproject/src/com/gdzs/mystudy/08.错误处理.go:11 0x51 main.main() D:/07.go/02.gostudy/goproject/src/com/gdzs/main/main.go:59 0x51 */为了让程序不出现报错那么我们需要处理下异常就是让程序能够捕获异常就像python程序一样 def test():try:print(python捕获异常, 100 / 0 )return Trueexcept Exception as e:return False那么go的异常处理是怎么做的呢 3 deferrecover异常捕获 go语言中使用defer recover函数实现异常的捕获从而保证程序正常运行呢 使用defer recover函数实现 func recover() interface{} 内建函数recover允许程序管理恐慌过程中的Go程序。在defer的函数中执行recover调用会取回传至panic调用的错误值恢复正常执行停止恐慌过程。若recover在defer的函数之外被调用它将不会停止恐慌过程序列。在此情况下或当该Go程不在恐慌过程中时或提供给panic的实参为nil时recover就会返回nil。 package mystudy // 错误处理 import fmt func DemoErrorDetail(){// 捕获异常错误defer func(){if err : recover(); err ! nil {fmt.Println(捕获到异常代码)fmt.Println(err:, err)}else{fmt.Println(代码正常执行)}}()fmt.Println(------错误处理------)num1 : 12num2 : 0result : num1 / num2fmt.Println(result) }// 输出结果 ------错误处理------ 捕获到异常代码 err: runtime error: integer divide by zero如果想要在执行过程中如果报错则返回默认值如何设置.这里需要使用指定的返回值。 首先指定返回值 result, err需要设置默认值的变量在deferrecover中进行设置即可 package mystudy // 错误处理 import (fmt ) func DemoErrorDetail2() (result int, err error){// 捕获异常错误defer func(){if err : recover(); err ! nil {fmt.Println(捕获到异常代码)fmt.Println(err:, err)// 这里设置默认值是99result 99}else{fmt.Println(代码正常执行)}}()fmt.Println(------错误处理------)num1 : 12num2 : 0result num1 / num2fmt.Println(result)return result, nil } // 输出结果 ------错误处理------ 捕获到异常代码 err: runtime error: integer divide by zero result 99 err nil4.自定义错误 4.1 介绍 对于一些错误我想自定义打印一些自己想执行的内容 使用error类型errors.New(“自定义错误内容”) func SelfError()(int, error){fmt.Println(------自定义错误------)var num int 1if num 1{return 0, errors.New(num不能为1)}else{fmt.Println(num, num)return num, nil} } // 调用函数 result, err : SelfError() // 输出结果 ------自定义错误------ 0 num不能为1在实际开发中可能有种情况是如果某个程序报错了就会影响接下来的运行所有不继续执行程序那么就可以使用panic func SelfError()(int, error){fmt.Println(------自定义错误------)var num int 1if num 1{return 0, errors.New(num不能为1)}else{fmt.Println(num, num)return num, nil} }// 输出结果 ------自定义错误------ 0 num不能为1 程序有报错了 panic: num不能为1goroutine 1 [running]: main.main()D:/07.go/02.gostudy/goproject/src/com/gdzs/main/main.go:67 0x12e exit status 2
http://www.pierceye.com/news/285195/

相关文章:

  • 如何做好企业网站建设工作公众微信网站建设
  • 企业网站开发时间动效网站怎么做
  • 网站编辑是网页制作么表格制作excel下载
  • 网站开发 发表文章网站开发和移动开发
  • 建设银行网站的目的是什么意思展览策划
  • 没有网站如何做落地页wordpress 用户 购物
  • 谁做网站收录网站建设项目竞争性招标文件
  • 做淘客要有好的网站wordpress move
  • 做企业网站有前途吗网站的栏目设置
  • 免费购物网站专门教人做点心的网站
  • 佛山网站设计哪里好seo关于网站搜索排名关键词的标准评定
  • 化工行业网站模板网站上怎么做动画广告视频
  • 怎么查百度收录网站吗用旧技术做网站能过毕设么知乎
  • 容桂医疗网站建设怎样在网站做咨询医生挣钱
  • 响应式网站建设价格加盟网络营销推广公司
  • 营销型网站单页面360任意看地图网站
  • 易班班级网站建设展示PPTwordpress php 采集器
  • 网站的透明图片怎么做嘉兴网站托管
  • 宝安做棋牌网站建设哪家便宜wordpress 导出html5
  • 网页制作与网站建设的发展趋势设想wordpress必装插件
  • 网站模板下载百度云链接怎么做的学做粤菜的网站
  • 牛栏前网站建设整站优化推广品牌
  • 太原做网站找谁阳江公司做网站
  • 企业网站aspwordpress原生相册
  • 重庆网站建设哪家公司那家好企业宣传软文
  • 如何选择营销网站建设什么网站做优化最好?
  • 个人博客网站模板素材网站的运营方案
  • wordpress增加网站网页关键词jquery验证网站地址
  • 企业招聘网站模板网站页面设计需要遵循的六大原则
  • 网站界面设计说明关键词排名顾问