Code generation tool like stringer, but for Errors
Example:
error_list.go
//go:generate makeerror -type=Error
package errors
type Error uint64
const (
E_WRONG_PASSWORD Error = iota
)
$ go generate
error_makeerror.go
//This file generated by makeerror DO NOT CHANGE!
package errors
const (
strE_WRONG_PASSWORD = "E_WRONG_PASSWORD"
makeerrorUnknown = "Unknown error type"
)
func (e Error) Error() string {
switch e {
case E_WRONG_PASSWORD: return strE_WRONG_PASSWORD
}
return makeerrorUnknown
}