Golang 20 錯誤處理

2021-08-20 03:48:13 字數 900 閱讀 6627

go 語言通過內建的錯誤介面提供了非常簡單的錯誤處理機制。

error型別是乙個介面型別,這是它的定義:

type error inte***ce
我們可以在編碼中通過實現 error 介面型別來生成錯誤資訊。

函式通常在最後的返回值中返回錯誤資訊。使用errors.new 可返回乙個錯誤資訊:

package main

import (

"fmt"

)// 定義乙個 divideerror 結構

type divideerror struct

// 實現 `error` 介面

func (de *divideerror) error() string

// 定義 `int` 型別除法運算的函式

func divide(vardividee int, vardivider int) (result int, errormsg string)

errormsg = ddata.error()

return

} else

}func main()

// 當被除數為零的時候會返回錯誤資訊

if _, errormsg := divide(100, 0); errormsg != ""

}

執行以上程式,輸出結果為:

100/10 =  10

errormsg is:

cannot proceed, the divider is zero.

dividee: 100

divider: 0

技術交流論壇:

golang 錯誤處理

go 程式使用 error 值來表示錯誤狀態。與 fmt.stringer 類似,error 型別是乙個內建介面 type error inte ce 與 fmt.stringer 類似,fmt 包在列印值時也會滿足 error。通常函式會返回乙個 error 值,呼叫的它的 應當判斷這個錯誤是否等...

golang 錯誤處理

一 defer package main import fmt os bufio func trydefer func writefile filename string else return defer file.close 無論return panic最後都會被執行 writer bufio....

Golang的錯誤處理

1 當錯誤 panic 發生後,程式就會退出 崩潰 2 希望發生錯誤後,能夠捕獲到錯誤,並對其進行處理,保證後續程式能夠繼續執行 go中引入的處理方式是 defer panic recover。其中go中可以丟擲乙個panic異常,然後在defer中通過recover捕獲這個異常,然後正常處理。1 ...