top archives tags about 

02月12日 (n年日記)

午前

午後

体調

その他

今日の Tabs

午前

午後

体調

その他

今日の Tabs

午前

午後

体調

その他

今日のTabs

goはerrorインターフェイスを持っている、

type error interface {
    Error() string
}

よく見る例としてError()関数を実装すれば、独自のerrorを作ることができる。
https://play.golang.org/p/cO0-r95Hd_r

package main

import (
	"fmt"
)

type Error struct {
	Msg  string
	Code int
}

func (err *Error) Error() string {
	return fmt.Sprintf("ErrorMessage [%s], ErrorCode [%d]", err.Msg, err.Code)
}

func test() error {
	return &Error{Msg: "file not found", Code: 2}
}

func main() {
	if err := test(); err != nil {
		fmt.Println(err)
	}
}