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文章
4388浏览量
65296
原文标题:Go 1.20将支持wrapping multiple errors
文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
有没有办法使用 CY7110 EZ-PD PMG1 读取 PD 源的TESTBOARD_150PC_OUT所有POWER_DRILL2GO配置文件?
有没有办法使用 CY7110 EZ-PD PMG1 读取 PD 源的TESTBOARD_150PC_OUT所有POWER_DRILL2GO配置文件?
如果有一种方法可以将
发表于 05-26 08:11
一个带有CYPD3177的自定义COOLDIM_PRG_BOARD,当它翻转时,则没有POWER_DRILL2GO,为什么?
我有一个带有 CYPD3177 的自定义COOLDIM_PRG_BOARD 。 当插入时,它仅从POWER_DRILL2GO电源接收POWER_DRILL2GO信号,并且 USB 电缆处于一个方向
发表于 05-26 07:24
通过XRES引脚POWER_DRILL2GO保持ic复位是否会降低ic的最终输出?
我正在使用 CYPAS111A1 PAG1S 设计 65W USB C 型充电器。 我想通过控制器切断 USB 输出。 通过 XRES 引脚POWER_DRILL2GO保持 ic 复位是否会降低 ic 的最终输出? 请予以支持。
发表于 05-26 06:44
如果 PD 合约不匹配,BCR 是否仍会打开 SINK_FET_EN POWER_DRILL2GO路径?
BCR 具有 SINK_FET_EN 和 SAFE_PWR_EN 引脚来控制POWER_DRILL2GO消耗路径。
如果 PD 合约不匹配,BCR 是否仍会打开 SINK_FET_EN POWER_DRILL2GO路径?或者只打开 SAFE_PWR_EN POWER_DR
发表于 05-23 08:01
如何将CCG3上的“启用固件更新”部分设置为“是”?
/Common-Errors-while-Programming-CCG3PA-usi...
如果我遇到这种情况,我应该将“启用固件更新”部分设置为“是”。
但是 CCG3 配置表没有“启用固件更新”部分。
我应该如何将 CCG
发表于 05-12 07:52
从 Java 到 Go:面向对象的巨人与云原生的轻骑兵
Go 语言在 2009 年被 Google 推出,在创建之初便明确提出了“少即是多(Less is more)”的设计原则,强调“以工程效率为核心,用极简规则解决复杂问题”。它与 Java 语言生态
43KB-10系列固定衰减器Anritsu
GHz或40 GHz的频率范围。
低驻波比(SWR):典型值在1.15:1到1.50:1之间。
高精度衰减:衰减精度在±0.5 dB到±0.9 dB之间。
兼容性:支持SMA和3.5毫米连接器
发表于 03-11 09:40
DLPC300使用Multiple Bit Depth and Multiple Color Pattern Sequences功能的疑问求解
没有TMS320DM365。我想实现
Multiple Bit Depth and Multiple Color Pattern Sequences的功能。我看了TI官方提供的操作方法是使用 DLP
发表于 02-20 07:17
AMAZINGIC晶焱科技技术应用:典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To Go.
AMAZINGIC晶焱科技技术应用:典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To Go.

典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To Go.
典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To Go.

影目科技发布全球首款同传翻译眼镜INMO GO2
近日,搭载紫光展锐W517芯片平台的INMO GO2由影目科技正式推出。作为全球首款专为商务场景设计的智能翻译眼镜,INMO GO2 以“快、准、稳”三大核心优势,突破传统翻译产品局限,为全球商务人士带来高效、自然、稳定的跨语言交流体验。
在学习go语言的过程踩过的坑
作为一个5年的phper,这两年公司和个人都在顺应技术趋势,新项目慢慢从php转向了go语言,从2021年到现在,笔者手上也先后开发了两个go项目。在学习go语言的过程中也学习并总结了一些相关的东西,这篇文章就分享下自己踩过的一
go语言如何解决并发问题
作为一个后端开发,日常工作中接触最多的两门语言就是PHP和GO了。无可否认,PHP确实是最好的语言(手动狗头哈哈),写起来真的很舒爽,没有任何心智负担,字符串和整型压根就不用区分,开发速度真的是比

微软Copilot Studio将支持企业创建自主AI代理
,目前已有60%的美国财富500强企业正在使用其Copilot工具。随着自主AI代理的推出,这些企业将迎来更加灵活和高效的业务转型机遇。这些代理能够基于企业自身的记录和数据进行训练,从而提供更加精准和个性化的支持。 自主AI代理的引入,
【米尔NXP i.MX 93开发板试用评测】4、使用golang搭建Modbus 服务器
/go1.23.1.linux-arm64.tar.gz
然后安装到板子上,使用以下的命令将golang程序安装到.bin目录里。
mkdir .bin
tar -C .bin/ -xzf
发表于 09-21 22:51
评论