Skip to content

Instantly share code, notes, and snippets.

@TheDarkTrumpet
Created January 16, 2022 19:48
Show Gist options
  • Select an option

  • Save TheDarkTrumpet/b8e6626a5485b891b1330825d10260f5 to your computer and use it in GitHub Desktop.

Select an option

Save TheDarkTrumpet/b8e6626a5485b891b1330825d10260f5 to your computer and use it in GitHub Desktop.
type Status int
const (
InvalidLogin Status = iota + 1 // Remember: iota is just auto incrementing, starts at 0
NotFound
)
type StatusErr struct {
Status Status
Message string
}
func (se StatusErr) Error() string {
return se.Message
}
func errorsTriggerExtended(trigger bool) (int, error) {
if trigger {
return 1, StatusErr{
Status: InvalidLogin,
Message: "We have an invalidLogin",
}
} else {
return 2, nil
}
}
func errorsUseExtended() {
util.PrintHeader("In errorsUseExtended")
//var err StatusErr
//var x int
x, err := errorsTriggerExtended(false)
if err == nil {
fmt.Printf("We called errorsTriggerExtended and didn't get an error, but we got %v, type: %T\n", x, err)
}
x, err = errorsTriggerExtended(true)
if err != nil {
fmt.Printf("We called errorsTriggerExtended, and did get an error. Value: %v, Status: %v, Message: %v, Type: %T\n", x, err, err, err)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment