建立錯誤值
建立錯誤的最簡單方法是使用 errors
包。
errors.New("this is an error")
如果要向錯誤新增其他資訊, fmt
包還提供了一種有用的錯誤建立方法:
var f float64
fmt.Errorf("error with some additional information: %g", f)
這是一個完整的示例,其中從函式返回錯誤:
package main
import (
"errors"
"fmt"
)
var ErrThreeNotFound = errors.New("error 3 is not found")
func main() {
fmt.Println(DoSomething(1)) // succeeds! returns nil
fmt.Println(DoSomething(2)) // returns a specific error message
fmt.Println(DoSomething(3)) // returns an error variable
fmt.Println(DoSomething(4)) // returns a simple error message
}
func DoSomething(someID int) error {
switch someID {
case 3:
return ErrThreeNotFound
case 2:
return fmt.Errorf("this is an error with extra info: %d", someID)
case 1:
return nil
}
return errors.New("this is an error")
}