Golang Errors

Basics

Go supports Errors

 
import (
	"errors"
	"fmt"
)
 
func ThrowError(throwError bool) error {
	if throwError {
		return errors.New("This is an error")
	}
 
	fmt.Println("No error was thrown!")
	return nil
}
 
func main() {
	ThrowError(true)
	ThrowError(false)
}

Wrappers

It appears to be good practice to make errors a const. This example uses the Error [Golang interfaces](Golang interfaces):

const (
    ErrNotFound   = DictionaryErr("could not find the word you were looking for")
    ErrWordExists = DictionaryErr("cannot add word because it already exists")
)
 
type DictionaryErr string
 
func (e DictionaryErr) Error() string {
    return string(e)
}

Handy Links

  • Constant errors[fn:constanterrors]

Footnotes

[fn:constanterrors]https://dave.cheney.net/2016/04/07/constant-errors