Go語言沒有提供像Java、C#語言中的try...catch異常處理方式,而是通過函數(shù)返回值逐層往上拋。
為澗西等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及澗西網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站設計、成都做網(wǎng)站、澗西網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!Go標準包提供的錯誤處理功能:
error是個interface:
type error interface { Error() string }
如何創(chuàng)建error:
// example 1 func Sqrt(f float64) (float64, error) { if f < 0 { return 0, errors.New("math: square root of negative number") } // implementation } // example 2 if f < 0 { return 0, fmt.Errorf("math: square root of negative number %g", f) }
如何自定義error:
// errorString is a trivial implementation of error. type errorString struct { s string } func (e *errorString) Error() string { return e.s }
go語言中一般有三種錯誤處理策略:
1、返回和檢查錯誤值:通過特定值表示成功和不同的錯誤,上層代碼檢查錯誤的值,來判斷被調(diào)用func的執(zhí)行狀態(tài)
2、自定義錯誤類型:通過自定義的錯誤類型來表示特定的錯誤,上層代碼通過類型斷言判斷錯誤的類型
3、隱藏內(nèi)部細節(jié)的錯誤處理:假設上層代碼不知道被調(diào)用函數(shù)返回的錯誤任何細節(jié),直接再向上返回錯誤
error interface 的 Error 方法的輸出,是給人看的,不是給機器看的。我們通常會把Error方法返回的字符串打印到日志中,或者顯示在控制臺上。永遠不要通過判斷Error方法返回的字符串是否包含特定字符串,來決定錯誤處理的方式。
以上就是golang錯誤拋出的方法的詳細內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!
文章標題:go語言的錯誤處理方式是什么?-創(chuàng)新互聯(lián)
當前地址:http://aaarwkj.com/article20/cogjjo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站設計公司、微信小程序、品牌網(wǎng)站建設、商城網(wǎng)站、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)