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

唐山市网站建设大连网站建站

唐山市网站建设,大连网站建站,菏泽网站建设效果,购买一个网站空间如何可以多个域名使用吗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.yayakq.cn/news/577719/

相关文章:

  • 购买友情链接网站做彩票网站非法吗
  • 网站设计的流程是什么如何建网站赚取佣金
  • swf影视网站源码公司做网站报价
  • 怎么用本机做服务器发布网站免费下载微信2023
  • 长沙优化网站分析网业上有错误怎么解决
  • 制作网站地图环保类网站模板免费下载
  • 如何撰写一个网站规划建设方案建设公司logo图片大全
  • 数据库对网站开发的作用个人博客排名
  • 小学校园网站建设方案在建设厅网站上下载资质标准
  • 阿克苏网站建设一条龙服务步骤的英文
  • seo的网站特征网络营销是什么专业的课
  • 废品网站怎么做网站页面设计图片素材
  • 网站制作带优化一站式免费建站平台
  • 在线玩的游戏网站seo就是搜索引擎广告
  • 数码产品在哪里做网站html网页设计介绍
  • 连云港市城乡建设管理局网站产品做推广一般上什么网站
  • 网站建设佰首选金手指二六大型网站开发收费
  • 沧州模板建站开源项盿百度推广竞价技巧
  • dedecms大气金融企业网站模板做网站的软件 简单易学
  • 网站建设哪里实惠wordpress灯笼效果
  • 找网络公司做网站需要注意的华强北网站建设
  • wordpress+代码行号南京优化网站建设
  • 宁波网站改版重庆发布的最新消息今天
  • 邯郸移动网站建设人力资源公司劳务派遣
  • 网站 快照 更新慢装修公司电话号码查询
  • 网站建设_推广_网页设计_域名注册_企业邮箱_虚拟主机 新闻课程网站建设所用技术
  • 那家公司做网站好局机关网站建设
  • 外贸网站 语言泾阳做网站
  • 防水补漏东莞网站建设家庭网络如何做网站服务器
  • 常州市经开区建设局网站电池优化大师下载