golang定義錯誤的方式

2021-07-10 10:34:30 字數 670 閱讀 7433

golang定義錯誤的方式:

(1) 同一error類, 多個錯誤例項,只是錯誤內容不同,golang官方做法

直接定義在io package 中, 全域性變數。

var eof = errors.new("eof")

var errclosedpipe = errors.new("io: read/write on closed pipe")

var errnoprogress = errors.new("multiple read calls return no data or error")

var errshortbuffer = errors.new("short buffer")

var errshortwrite = errors.new("short write")

var errunexpectedeof = errors.new("unexpected eof")

直接與上面定義的錯誤例項做相等判斷即可知道出了什麼錯誤,很顯然。

(2) 如果是自己實現了error介面, 可以加入errcode int 域,用不同的錯誤碼形式判斷錯誤型別

type myerror struct

通常情況, 我們只要知道出錯了就可以了, 但是有些時候,還要進一步知道具體出了什麼錯誤,

以上兩種方式都可以,第種為標準庫中的用法。

Golang的錯誤處理

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

Golang 定義變數

golang 定義變數 golang的變數可以由字母數字和下劃線組成,但是首字元不能為數字。golang是靜態型別語言,變數必須宣告型別。定義變數使用 var 關鍵字。變數小知識 在golang當中如果只是宣告了變數,但是並沒有使用這個變數的話,會提示乙個declared and not used的...

golang 錯誤處理

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