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

    文章

    4424

    浏览量

    68155

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    课优-Go实战训练营1期|2023年#(搜keyouit-xyz)

    Go
    jf_31593173
    发布于 :2026年05月30日 17:44:24

    极客时间go技术专家进阶营 (讠果xingkeit-top)#go #技术专家

    Go
    jf_98563832
    发布于 :2026年05月28日 18:35:51

    Go实战训练营1期|2023年#(搜keyouit-xyz)

    Go
    jf_31593173
    发布于 :2026年05月28日 18:26:39

    Go技术专家进阶营 从代码开发到架构设计#(搜keyouit-xyz)

    Go
    jf_31593173
    发布于 :2026年05月28日 18:25:54

    Go-极客时间-Go实战训练营1期[完结](学:97it-top)#极客时间

    Go
    jf_33470487
    发布于 :2026年05月28日 11:23:00

    Go技术专家进阶营(学:97it-top)#Go技术

    Go
    jf_33470487
    发布于 :2026年05月28日 11:21:29

    iMOTION2go:开启iMOTION设计平台的入门之选

    iMOTION2go:开启iMOTION设计平台的入门之选 在电机控制领域,一款好用的入门工具对于工程师来说至关重要。今天就来给大家介绍一下英飞凌的iMOTION2go,它是一款为iMOTION
    的头像 发表于 05-18 11:05 379次阅读

    技嘉全新 27 寸 WOLED 电竞显示器 GO27Q24G 正式上市

    240Hz 高刷新率,并支持 NVIDIA® G-SYNC® Compatible 与 AMD FreeSync™ Premium 技术,为竞技类游戏提供无撕裂、极速反应的流畅体验。GO27Q24G 采用
    的头像 发表于 02-10 11:06 271次阅读

    低成本TLI4971/TLE4971电流传感器评估套件——MS2Go与S2Go

    低成本TLI4971/TLE4971电流传感器评估套件——MS2Go与S2Go 在电子工程师的日常工作中,电流传感器的评估和应用是一个重要的环节。今天我们要介绍的是英飞凌(Infineon
    的头像 发表于 12-19 16:50 1355次阅读

    KIT_XMC14_2GO开发板:功能特性与硬件解析

    KIT_XMC14_2GO开发板:功能特性与硬件解析 在电子开发领域,一款性能出色且功能丰富的开发板对于工程师来说至关重要。今天,我们就来详细探讨一下KIT_XMC14_2GO开发板,它配备了英飞凌
    的头像 发表于 12-19 10:20 731次阅读

    探索TLE493D-P3XX-MS2GO 3D 2Go套件:开启3D磁传感器评估之旅

    探索TLE493D-P3XX-MS2GO 3D 2Go套件:开启3D磁传感器评估之旅 在电子工程师的日常工作中,评估和开发磁传感器是一项常见且重要的任务。英飞凌(Infineon
    的头像 发表于 12-18 17:15 1510次阅读

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

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