AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

一篇聊聊Go錯誤封裝機制

來源: 責編: 時間:2023-08-05 11:44:57 4316觀看
導讀%w 是用于錯誤包裝(Error Wrapping)的格式化動詞。它是用于 fmt.Errorf 和 fmt.Sprintf 函數中的一個特殊格式化動詞,用于將一個錯誤(或其他可打印的值)包裝在一個新的錯誤中。使用 %w 時,它會在格式化字符串中占據一個位置

%w 是用于錯誤包裝(Error Wrapping)的格式化動詞。它是用于 fmt.Errorf 和 fmt.Sprintf 函數中的一個特殊格式化動詞,用于將一個錯誤(或其他可打印的值)包裝在一個新的錯誤中。1vt28資訊網——每日最新資訊28at.com

使用 %w 時,它會在格式化字符串中占據一個位置,并將其后的錯誤作為參數傳遞給 fmt.Errorf 或 fmt.Sprintf 函數。這將創建一個新的錯誤,包含了原始錯誤信息,并形成一個錯誤鏈。1vt28資訊網——每日最新資訊28at.com

下面是一個示例,展示了如何使用 %w 來進行錯誤包裝:1vt28資訊網——每日最新資訊28at.com

package mainimport (	"errors"	"fmt")func doSomething() error {	return errors.New("something went wrong")}func main() {	err := doSomething()	// Wrap the original error with additional context	wrappedErr := fmt.Errorf("encountered an issue: %w", err)	fmt.Println(wrappedErr) // Output: encountered an issue: something went wrong	if err, ok := wrappedErr.(interface{ Unwrap() error }); ok {		// wrappedErr是error類型,只支持Error()方法,所以沒辦法直接調用Unwrap()。但是wrappedErr.(interface{ Unwrap() error })取出內部的數據就可以調用Unwrap()了		fmt.Println("internal error:", err.Unwrap())	}	fmt.Println(errors.Is(wrappedErr, err))                         // Output: true	fmt.Println(errors.Is(err, fmt.Errorf("something went wrong"))) // Output: false}

另外,還有一種interface{ Unwrap() []error },其實是多次用了%w的結果。1vt28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-96-0.html一篇聊聊Go錯誤封裝機制

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 如何正確使用:Has和:Nth-Last-Child

下一篇: Java NIO內存映射文件:提高文件讀寫效率的優秀實踐!

標簽:
  • 熱門焦點
  • Rust中的高吞吐量流處理

    作者 | Noz編譯 | 王瑞平本篇文章主要介紹了Rust中流處理的概念、方法和優化。作者不僅介紹了流處理的基本概念以及Rust中常用的流處理庫,還使用這些庫實現了一個流處理程序
  • CSS單標簽實現轉轉logo

    轉轉品牌升級后更新了全新的Logo,今天我們用純CSS來實現轉轉的新Logo,為了有一定的挑戰性,這里我們只使用一個標簽實現,將最大化的使用CSS能力完成Logo的繪制與動畫效果。新logo
  • 十個簡單但很有用的Python裝飾器

    裝飾器(Decorators)是Python中一種強大而靈活的功能,用于修改或增強函數或類的行為。裝飾器本質上是一個函數,它接受另一個函數或類作為參數,并返回一個新的函數或類。它們通常用
  • 自動化在DevOps中的力量:簡化軟件開發和交付

    自動化在DevOps中扮演著重要角色,它提升了DevOps的效能。通過自動化工具和方法,DevOps團隊可以實現以下目標:消除手動和重復性任務。簡化流程。在整個軟件開發生命周期中實現更
  • 自律,給不了Keep自由!

    來源 | 互聯網品牌官作者 | 李大為編排 | 又耳 審核 | 谷曉輝自律能不能給用戶自由暫時不好說,但大概率不能給Keep自由。近日,全球最大的在線健身平臺Keep正式登陸港交所,努力
  • 超級標準版旗艦!iQOO 11S全球首發iQOO超算獨顯芯片

    上半年已接近尾聲,截至目前各大品牌旗下的頂級旗艦都已悉數亮相,而下半年即將推出的頂級旗艦已經成為了數碼圈爆料的主流,其中就包括全新的iQOO 11S系
  • 蘋果MacBook Pro 2021測試:仍不支持平滑滾動

    據10月30日9to5 Mac 消息報道,蘋果新的 14 英寸和 16 英寸 MacBook Pro 2021 上市后獲得了不錯的評價,亮點包括行業領先的性能,令人印象深刻的電池續航,精美豐
  • AI藝術欣賞體驗會在上海梅賽德斯奔馳中心音樂俱樂部上演

    光影交錯的鏡像世界,虛實幻化的視覺奇觀,虛擬偶像與真人共同主持,這些場景都出現在2019世界人工智能大會的舞臺上。8月29日至31日,“AI藝術欣賞體驗會”在上海
  • 電博會上海爾智家模擬500平大平層,還原生活空間沉浸式體驗

    電博會為了更好地讓參展觀眾真正感受到智能家居的絕妙之處,海爾智家的程傳嶺先生同樣介紹了展會上海爾智家的模擬500平大平層,還原生活空間沉浸式體驗。程傳
Top