Go 近日接受了名為「add support for wrapping multiple errors」的提案。 該項提案對錯誤處理進(jìn)行了優(yōu)化,與 Go 1.13 為錯誤處理提供的新功能有關(guān):Error Wrapping。引入 Error Wrapping 后,Go 同時為errors包添加了 3 個工具函數(shù),分別是Unwrap、Is和As。 對于「add support for wrapping multiple errors」提案,顧名思義就是一個錯誤可以包裹多個錯誤。
Unwrap() []error提出該提案的開發(fā)者表示,重用Unwrap避免了與現(xiàn)有 Unwrap 方法產(chǎn)生歧義,從Unwrap中返回一個長度為 0 的列表意味著錯誤沒有包裹任何內(nèi)容。調(diào)用方不得修改由Unwrap返回的列表,Unwrap返回的列表不得包含任何nil錯誤。 他還對errors.Is和errors.As函數(shù)進(jìn)行了更新,實現(xiàn)對 multiple errors 進(jìn)行Unwrap操作。 errors.Join函數(shù)提供了 multierr 的簡單實現(xiàn):
// 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 中提供:
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4413瀏覽量
67199
原文標(biāo)題:Go 1.20將支持wrapping multiple errors
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
熱點(diǎn)推薦
XENSIV? DPS310/368 Pressure Sensor 2Go Kit :高精度壓力傳感解決方案
XENSIV? DPS310/368 Pressure Sensor 2Go Kit :高精度壓力傳感解決方案 一、引言 在電子設(shè)備設(shè)計中,壓力傳感器是一個至關(guān)重要的元件,廣泛應(yīng)用于氣象監(jiān)測
低成本TLI4971/TLE4971電流傳感器評估套件——MS2Go與S2Go
低成本TLI4971/TLE4971電流傳感器評估套件——MS2Go與S2Go 在電子工程師的日常工作中,電流傳感器的評估和應(yīng)用是一個重要的環(huán)節(jié)。今天我們要介紹的是英飛凌(Infineon
XENSIV? PAS CO2 Sensor2Go評估套件快速上手指南
XENSIV? PAS CO2 Sensor2Go評估套件快速上手指南 在電子工程領(lǐng)域,對于二氧化碳($CO_2$)傳感器的評估和應(yīng)用是一個重要的研究方向。英飛凌的XENSIV? PAS CO2
KIT_XMC14_2GO開發(fā)板:功能特性與硬件解析
KIT_XMC14_2GO開發(fā)板:功能特性與硬件解析 在電子開發(fā)領(lǐng)域,一款性能出色且功能豐富的開發(fā)板對于工程師來說至關(guān)重要。今天,我們就來詳細(xì)探討一下KIT_XMC14_2GO開發(fā)板,它配備了英飛凌
探索TLE493D-P3XX-MS2GO 3D 2Go套件:開啟3D磁傳感器評估之旅
探索TLE493D-P3XX-MS2GO 3D 2Go套件:開啟3D磁傳感器評估之旅 在電子工程師的日常工作中,評估和開發(fā)磁傳感器是一項常見且重要的任務(wù)。英飛凌(Infineon
房產(chǎn)數(shù)據(jù)平臺安家go獲取地區(qū)列表數(shù)據(jù)的API接口
? 在房產(chǎn)數(shù)據(jù)平臺“安家go”中,獲取地區(qū)列表數(shù)據(jù)是一個常見需求,它允許開發(fā)者訪問全國或特定區(qū)域的行政區(qū)劃信息,如省、市、區(qū)縣等。這對于構(gòu)建房產(chǎn)搜索、數(shù)據(jù)分析或地圖應(yīng)用至關(guān)重要。本文將詳細(xì)介紹
一個帶有CYPD3177的自定義COOLDIM_PRG_BOARD,當(dāng)它翻轉(zhuǎn)時,則沒有POWER_DRILL2GO,為什么?
我有一個帶有 CYPD3177 的自定義COOLDIM_PRG_BOARD 。 當(dāng)插入時,它僅從POWER_DRILL2GO電源接收POWER_DRILL2GO信號,并且 USB 電纜處于一個方向
發(fā)表于 05-26 07:24
通過XRES引腳POWER_DRILL2GO保持ic復(fù)位是否會降低ic的最終輸出?
我正在使用 CYPAS111A1 PAG1S 設(shè)計 65W USB C 型充電器。 我想通過控制器切斷 USB 輸出。 通過 XRES 引腳POWER_DRILL2GO保持 ic 復(fù)位是否會降低 ic 的最終輸出? 請予以支持。
發(fā)表于 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
發(fā)表于 05-23 08:01
如何將CCG3上的“啟用固件更新”部分設(shè)置為“是”?
/Common-Errors-while-Programming-CCG3PA-usi...
如果我遇到這種情況,我應(yīng)該將“啟用固件更新”部分設(shè)置為“是”。
但是 CCG3 配置表沒有“啟用固件更新”部分。
我應(yīng)該如何將 CCG
發(fā)表于 05-12 07:52
從 Java 到 Go:面向?qū)ο蟮木奕伺c云原生的輕騎兵
Go 語言在 2009 年被 Google 推出,在創(chuàng)建之初便明確提出了“少即是多(Less is more)”的設(shè)計原則,強(qiáng)調(diào)“以工程效率為核心,用極簡規(guī)則解決復(fù)雜問題”。它與 Java 語言生態(tài)
43KB-10系列固定衰減器Anritsu
GHz或40 GHz的頻率范圍。
低駐波比(SWR):典型值在1.15:1到1.50:1之間。
高精度衰減:衰減精度在±0.5 dB到±0.9 dB之間。
兼容性:支持SMA和3.5毫米連接器
發(fā)表于 03-11 09:40
DLPC300使用Multiple Bit Depth and Multiple Color Pattern Sequences功能的疑問求解
沒有TMS320DM365。我想實現(xiàn)
Multiple Bit Depth and Multiple Color Pattern Sequences的功能。我看了TI官方提供的操作方法是使用 DLP
發(fā)表于 02-20 07:17
AMAZINGIC晶焱科技技術(shù)應(yīng)用:典范轉(zhuǎn)移 EV全生態(tài)系商機(jī) - The CAN SIC Transceiver Is Ready To Go.
AMAZINGIC晶焱科技技術(shù)應(yīng)用:典范轉(zhuǎn)移 EV全生態(tài)系商機(jī) - The CAN SIC Transceiver Is Ready To Go.
典范轉(zhuǎn)移 EV全生態(tài)系商機(jī) - The CAN SIC Transceiver Is Ready To Go.
典范轉(zhuǎn)移 EV全生態(tài)系商機(jī) - The CAN SIC Transceiver Is Ready To Go.
Go 1.20將支持wrapping multiple errors
評論