建立錯誤值

建立錯誤的最簡單方法是使用 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")
}

在遊樂場開放