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文章
4406浏览量
66829
原文标题:Go 1.20将支持wrapping multiple errors
文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
房产数据平台安家go获取地区列表数据的API接口
在房产数据平台“安家go”中,获取地区列表数据是一个常见需求,它允许开发者访问全国或特定区域的行政区划信息,如省、市、区县等。这对于构建房产搜索、数据分析或地图应用至关重要。本文将详细介绍
影目INMO GO3新品发布,携手蚂蚁、腾讯应用宝、智谱等行业巨头打造AI+AR生态
10月16日,影目科技正式发布全新一代AI智能眼镜——INMO GO3,以“未来科技美学提案”为主题,带来智能眼镜行业颜值革命与功能跃迁。同时,影目INMO重磅官宣打造面向全球开放的 AI+AR
发表于 10-16 19:57
•1204次阅读
【HZ-T536开发板免费体验】5、安装sqlite3和使用golang读写数据库
://golang.google.cn/dl/go1.25.0.linux-arm64.tar.gz
下载完毕后,我们需要把编译环境解压缩到指定目录里。我习惯在用户目录里创建一个.bin目录,然后
发表于 08-26 00:04
【VisionFive 2单板计算机试用体验】3、开源大语言模型部署
, Gemma等开源大模型。当然,一些闭源的(类似chatgpt, gemini)是不支持部署的。如下图:
在端侧部署大模型,个人认为最大的好处:是可以避免因文本或图片上传而造成的信息泄露,因为一切文本
发表于 07-19 15:45
有没有办法使用 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 1.20将支持wrapping multiple errors
评论