Go 近日接受了名为「add support for wrapping multiple errors」的提案。 该项提案对错误处理进行了优化,与 Go 1.13 为错误处理提供的新功能有关:Error Wrapping。引入 Error Wrapping 后,Go 同时为errors包添加了 3 个工具函数,分别是Unwrap、Is和As。 对于「add support for wrapping multiple errors」提案,顾名思义就是一个错误可以包裹多个错误。
Unwrap() []error提出该提案的开发者表示,重用Unwrap避免了与现有 Unwrap 方法产生歧义,从Unwrap中返回一个长度为 0 的列表意味着错误没有包裹任何内容。调用方不得修改由Unwrap返回的列表,Unwrap返回的列表不得包含任何nil错误。 他还对errors.Is和errors.As函数进行了更新,实现对 multiple errors 进行Unwrap操作。 errors.Join函数提供了 multierr 的简单实现:
// Join returns an error that wraps the given errors. // Any nil error values are discarded. // The error formats as the text of the given errors, separated by newlines. // Join returns nil if errs contains no non-nil values. func Join(errs ...error) error
目前该提案已被接受,作者表示将在 Go 1.20 中提供:
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
函数
+关注
关注
3文章
4329浏览量
62578
原文标题:Go 1.20将支持wrapping multiple errors
文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
在学习go语言的过程踩过的坑
作为一个5年的phper,这两年公司和个人都在顺应威廉希尔官方网站
趋势,新项目慢慢从php转向了go语言,从2021年到现在,笔者手上也先后开发了两个go项目。在学习go语言的过程中也学习并总结了一些相关的东西,这篇文章就分享下自己踩过的一
go语言如何解决并发问题
作为一个后端开发,日常工作中接触最多的两门语言就是PHP和GO了。无可否认,PHP确实是最好的语言(手动狗头哈哈),写起来真的很舒爽,没有任何心智负担,字符串和整型压根就不用区分,开发速度真的是比
三十分钟入门基础Go Java小子版
前言 Go语言定义 Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态、强类型、编译型语言。Go 语言
出现Multiple decode errors occured:故障如何解决?
出现Multiple decode errors occured:故障,没有相应的文件说明消除这个故障
发表于 07-19 07:02
XMC4200 Platform2Go如何通过产生PWM信号来控制测量到的电流值?
我使用的是 XMC4200 Platform2Go 评估板。
我想通过产生 PWM 信号来控制测量到的电流值。
电流值将通过 AD 转换器作为输入信号,然后输出 PWM 信号。
发表于 05-29 07:38
求助,关于PSoC4000S POWER_DRILL2GO下降压摆率的疑问求解
( POWER_DRILL2GO下降缓慢),所以我正在考虑在XRES上添加一个复位IC来解决这个问题。
例如,如果复位 IC 将 XRES 置为 1.7V 或更低,即使POWER_DRILL2GO -down 的压摆率不符合数据
发表于 05-21 08:14
请问STVP+COSMIC环境下的go to definition怎么用?
STVP+COSMIC环境下的go to definition怎么用?
我现在go to definition在一个宏定义的时候有效果,但是函数什么的没用,是怎么回事呢,是不是工程里面没有设置好,求大家帮帮忙?
发表于 05-11 06:11
atollic truestudio调试时Live Expressions显示功能不可用怎么解决?
atollic truestudio调试时Live Expressions显示功能不可用,表达式栏Multiple errors reported.Failed to execute MI command:-var-create - ,请问怎么解决?
发表于 04-02 07:53
在CYUSB3304-68LTXC上电时将RESETN输入切换为L/H,可以联动控制POWER_DRILL2GO端子吗?
我有一个关于 HX3 的问题。
如果在 CYUSB3304-68LTXC 上电时将 RESETN 输入切换为 L/H,是否可以联动控制POWER_DRILL2GO端子?
例如,当RESETN输入为L时, POWER_DRILL2GO
发表于 03-06 07:45
PMG1 PoR复位时POWER_DRILL2GO什么时候进入?
我有两个关于 PMG1 PoR 的问题。
1.复位时POWER_DRILL2GO什么时候进入?
也许您想在电压低于预设值时强制 EZ-PD™ PMG1-S1 MCU 设备复位
发表于 03-06 06:03
Arduino IDE中是否有与Xmc2Go兼容的LoRaWAN库?
我想问一下 Arduino IDE 中是否有与 Xmc2Go 兼容的 LoRaWAN 库?
我正在尝试使用连接到 Xmc2Go 的 RFM95W Lora 模块通过 LoRaWAN 将数据传输
发表于 02-27 06:05
瑞萨Flash示例程序01版V1.20(SC版)发布说明
电子发烧友网站提供《瑞萨Flash示例程序01版V1.20(SC版)发布说明.pdf》资料免费下载
发表于 02-19 10:40
•0次下载
为什么无法读取BGT60LTR11AIP Radar Shield2Go板的SPI数据?
我有一块BGT60LTR11AIP Radar Shield2Go板,试图通过PSOC4 MCU的模拟SPI读取数据。 我已经将评估板设置为SPI模式,为使用官方库代码,MCU采用了模拟SPI方式读取,但是一直无法读到数据。 附件是项目,有人能帮我吗?
发表于 01-23 06:20
评论