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

广州冼村房价百度ocpc如何优化

广州冼村房价,百度ocpc如何优化,网站制作 用户登录系统,深圳手机端网站建设专业Golang的errors包返回堆栈信息 标准库errors提供了处理错误的方法。比如常用的 func New(text string) error 用该方法处理错误信息,就只会输出自定义的 text 到控制台或者日志文件,没有其它辅助排查的信息输出,所以常规我们就只能根据 te…

Golang的errors包返回堆栈信息

标准库errors提供了处理错误的方法。比如常用的
func New(text string) error

用该方法处理错误信息,就只会输出自定义的 text 到控制台或者日志文件,没有其它辅助排查的信息输出,所以常规我们就只能根据 text 去全局搜哪里抛出了这个错误,再来定位代码层面上下文问题。

当然,不是不行,但是嵌套代码多,抛出 text 存在多处一致的情况,就比较麻烦了。比如以下例子:

package mainimport ("errors""fmt""os"
)func err1() error {return errors.New("报错啦,抛出异常!!")
}func err2() error {return errors.New("报错啦,抛出异常!!")
}func err3() error {return errors.New("报错啦,抛出异常!!")
}func main() {err := err1()if err != nil {fmt.Println(err)os.Exit(0)}err = err2()if err != nil {fmt.Println(err)os.Exit(0)}err = err3()if err != nil {fmt.Println(err)os.Exit(0)}
}

运行结果:

报错啦,抛出异常!!

代码中有三处同样的错误输出,根据这个错误信息,无法判断是来源于哪个方法,只能通过调试或者在每个 err!=nil 内再加输出进行定位。

这里就可以用第三方的开源库:github.com/go-errors/errors

下面用 github.com/go-errors/errors改造下

package mainimport ("fmt""github.com/go-errors/errors""os"
)func err1() error {return nil
}func err2() error {return errors.New("报错啦,抛出异常!!")
}func err3() error {return errors.New("报错啦,抛出异常!!")
}func main() {err := err1()if err != nil {fmt.Println(err.(*errors.Error).ErrorStack())os.Exit(0)}err = err2()if err != nil {fmt.Println(err.(*errors.Error).ErrorStack())os.Exit(0)}err = err3()if err != nil {fmt.Println(err.(*errors.Error).ErrorStack())os.Exit(0)}
}

运行结果:

*errors.Error 报错啦,抛出异常!!  
D:/gotest/src/test/main.go:14 (0x49756b)  main: return errors.New("报错啦,抛出异常!!")
D:/gotest/src/test/main.go:27 (0x497559)main: err = err2()
D:/golang/src/runtime/proc.go:250 (0x4379fe)main: fn()
D:/golang/src/runtime/asm_amd64.s:1594 (0x45ee41)goexit: BYTE $0x90 // NOP

有了调用堆栈信息,就很明确知道 err2()存在问题。这个库会记录调用栈,通过ErrorStack方法返回调用栈信息

参考资料:

errors返回堆栈信息 https://blog.csdn.net/EDDYCJY/article/details/134890000

http://www.hrbkazy.com/news/4735.html

相关文章:

  • 安阳网站建设推广优化免费推广工具
  • 揭阳企业做网站常用的网络营销方法及效果
  • 门户网站的特点及优势南京seo建站
  • 稳定的网站建设上海抖音seo
  • 做网站需要什么百度收录要多久
  • 1m带宽做网站站长网站优化公司
  • 微网站建设第一步是进行什么的设置合肥推广外包公司
  • 常用的网站类型有哪些类型有哪些百度站长平台链接
  • 企业信息查询官网系统长沙竞价优化
  • 重庆技术支持 网站建设公司微信营销软件
  • 怎么挖掘网站的关键词谷歌广告优化
  • 企业网站做seo免费制作链接
  • 手机网站模版企业培训的目的和意义
  • wordpress导航站主题免费网上销售平台
  • 项目网发布信息平台优化推广网站淄博
  • 建设个b2c网站网络营销活动策划方案模板
  • 青岛网站建设推广搜狗竞价推广效果怎么样
  • 衢州建设培训职业学校网站2000元代理微信朋友圈广告
  • 网页搜索代码seo排名工具
  • 甘肃做高端网站的公司广告公司主要做什么
  • 安徽省建设工程监管平台广州百度seo排名优化
  • 网站开发工具 枫子科技百度关键词推广工具
  • 网站建设模板怎么直接套浏览器直接进入网站的注意事项
  • 做网站品牌公司经营管理培训课程
  • 往网站添加图片吗跨境电商有哪些平台
  • 私人pk赛车网站怎么做高端网站设计
  • 网站制作什么做长尾词优化外包
  • 网络管理网站策划书二十条优化措施原文
  • 日本软银集团孙正义是华裔吗网站内部链接优化方法
  • 网站手机端跳转页面模板seo入门免费教程