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

    文章

    4273

    浏览量

    62302

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

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

收藏 人收藏

    评论

    相关推荐

    go语言如何解决并发问题

    作为一个后端开发,日常工作中接触最多的两门语言就是PHP和GO了。无可否认,PHP确实是最好的语言(手动狗头哈哈),写起来真的很舒爽,没有任何心智负担,字符串和整型压根就不用区分,开发速度真的是比
    的头像 发表于 10-23 13:38 87次阅读
    <b class='flag-5'>go</b>语言如何解决并发问题

    三十分钟入门基础Go Java小子版

    前言 Go语言定义 Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态、强类型、编译型语言。Go 语言
    的头像 发表于 08-12 14:32 651次阅读
    三十分钟入门基础<b class='flag-5'>Go</b> Java小子版

    出现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次下载
    瑞萨Flash示例程序01版V<b class='flag-5'>1.20</b>(SC版)发布说明

    16位单片机RL78系列Rev.1.20发布说明

    电子发烧友网站提供《16位单片机RL78系列Rev.1.20发布说明.pdf》资料免费下载
    发表于 02-19 10:15 0次下载
    16位单片机RL78系列Rev.<b class='flag-5'>1.20</b>发布说明

    为什么无法读取BGT60LTR11AIP Radar Shield2Go板的SPI数据?

    我有一块BGT60LTR11AIP Radar Shield2Go板,试图通过PSOC4 MCU的模拟SPI读取数据。 我已经评估板设置为SPI模式,为使用官方库代码,MCU采用了模拟SPI方式读取,但是一直无法读到数据。 附件是项目,有人能帮我吗?
    发表于 01-23 06:20

    Go配置TM 软件中心用户指南

    电子发烧友网站提供《Go配置TM 软件中心用户指南.pdf》资料免费下载
    发表于 01-03 09:48 0次下载
    <b class='flag-5'>Go</b>配置TM 软件中心用户指南

    如何在Go中给GORM模型添加枚举类型

    GORM是一个流行的Go ORM,它允许我们定义结构体来表示数据库表,并提供一个接口来执行CRUD操作。枚举在编程中是一个有用的特性,它允许我们定义一个变量可以取的固定值集。在这篇文章中,我们探索如何向GORM模型添加枚举。
    的头像 发表于 11-28 15:36 1258次阅读