0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Go 1.20将支持wrapping multiple errors

OSC开源社区 来源:OSC开源社区 作者:OSC开源社区 2022-12-05 09:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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 中提供:


b92b300c-73d6-11ed-8abf-dac502259ad0.png
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66829

原文标题:Go 1.20将支持wrapping multiple errors

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    房产数据平台安家go获取地区列表数据的API接口

    ​ 在房产数据平台“安家go”中,获取地区列表数据是一个常见需求,它允许开发者访问全国或特定区域的行政区划信息,如省、市、区县等。这对于构建房产搜索、数据分析或地图应用至关重要。本文详细介绍
    的头像 发表于 11-21 14:38 170次阅读
    房产数据平台安家<b class='flag-5'>go</b>获取地区列表数据的API接口

    影目INMO GO3新品发布,携手蚂蚁、腾讯应用宝、智谱等行业巨头打造AI+AR生态

      10月16日,影目科技正式发布全新一代AI智能眼镜——INMO GO3,以“未来科技美学提案”为主题,带来智能眼镜行业颜值革命与功能跃迁。同时,影目INMO重磅官宣打造面向全球开放的 AI+AR
    发表于 10-16 19:57 1204次阅读
    影目INMO <b class='flag-5'>GO</b>3新品发布,携手蚂蚁、腾讯应用宝、智谱等行业巨头打造AI+AR生态

    【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 语言生态
    的头像 发表于 04-25 11:13 506次阅读

    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.
    的头像 发表于 02-05 16:01 1044次阅读
    AMAZINGIC晶焱科技技术应用:典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To <b class='flag-5'>Go</b>.

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

    典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To Go.
    的头像 发表于 01-22 17:23 881次阅读
    典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To <b class='flag-5'>Go</b>.

    影目科技发布全球首款同传翻译眼镜INMO GO2

    近日,搭载紫光展锐W517芯片平台的INMO GO2由影目科技正式推出。作为全球首款专为商务场景设计的智能翻译眼镜,INMO GO2 以“快、准、稳”三大核心优势,突破传统翻译产品局限,为全球商务人士带来高效、自然、稳定的跨语言交流体验。
    的头像 发表于 12-11 10:00 1943次阅读