首页 > 其他分享 >golang - 1.19版本 recover 的使用

golang - 1.19版本 recover 的使用

时间:2022-11-16 06:00:11浏览次数:41  
标签:err 1.19 golang 版本 使用 recover

panic 的使用参考我这个随笔
https://www.cnblogs.com/c2g5201314/p/16894630.html

如果需要当前函数中断,父级调用的函数不断,可使用 recover
在1.19版本开始需要这样写
    defer func() {
        var m any = nil
        if err := recover(); m != err {
            //报错内容不空时才打印
            fmt.Println(err)
        }
    }()

 

 

标签:err,1.19,golang,版本,使用,recover
From: https://www.cnblogs.com/c2g5201314/p/16894632.html

相关文章

  • golang - 1.19版本 panic 的使用
    自动1.18开始引入any类型可以替代空接口interface{}, panic的参数就变为了any因此1.19版本不可直接使用panic(【提示内容】)会报错正确写法为variany="异常......
  • golang发送HTTP请求时获取目标IP (server ip)
    golangnet/http库在发送http请求时会通过调用net下的Dialer建立TCP连接,net.Dialer会在发起连接前执行通过ControlContext字段传入的一个函数,我们可以通过这个函数获取i......
  • 5.golang变量的数据类型
    1.基本数据类型数值型 a.整数类型              A.各整数类型分“有符号和无符号,intun......
  • Golang写时复制是否是原子性的?
    建议先阅读下Go汇编语言的入门教程​​​https://go.dev/doc/asm​​先说一下我这边的一个简化场景吧,有一个定时任务定时从数据库获取数据,也就是对应实例代码中的getNewPro......
  • golang ratelimit限流实现
    网上找到的案例,记录一下route/init方法中:varuriLimiters=middleware.NewUriLimiter()appGroup:=g.Group("",middleware.RateLimiter(uriLimiters))//限流funcRa......
  • golang redis队列实现
    记录一下packageredisimport("bytes""encoding/json""errors")typeJobstruct{JobIdstring`json:"job_id"`Uiduint64`json:"uid"`......
  • golang处理时区
    很多Golang初学者都不知道怎么来处理时区问题.这篇文章将解释清楚一下两个问题:怎么把带时区的时间保存到数据库?在Go语言中怎么解析带时区的时间?1.数据库时区(Time......
  • defer+recover机制处理错误
    defer+recover机制处理错误Go中追求代码优雅,引入机制:defer+recover机制处理错误内置函数recover:packagemainimport"fmt"funcmain(){ test() fmt.Println("上......
  • golang fmt && lint
    如何轻松使用格式化和静态检查工具makefmtmakelint 1、go.mod同级目录创建文件Makefilefmt:command-vgofumpt||(WORK=$(shellpwd)&&cd/tmp&&......
  • golang内存对齐的重要性
     结构体中字段类型的改变直接造成内存对齐结果的改变,是的占用内存空间也不一样packagemainimport( "fmt" "unsafe")funcmain(){ varxxstruct{ aboo......