--- id: 5114b51a-da22-4c9c-a12c-c416aeb984b6 title: Golang Errors --- # Basics Go supports Errors ``` go 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 [interface](20200831171822-interfaces): ``` go 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[^1] # Footnotes [^1]: