Skip to content
/ grace Public

Handle Go recover, panic, and errors in a graceful way. Multiple errors support, basic filters and custom handlers.

License

Notifications You must be signed in to change notification settings

oxequa/grace

Repository files navigation

Build status GoReport GoDoc License Gitter


Handle recover, panic and errors in a graceful way


Quickstart

go get github.com/oxequa/grace

The following is a simple example that handles a panic and returns the error without the program crash.

package main

import (
  "fmt"
  "github.com/oxequa/grace"
)

func example() (e error){
  defer grace.Recover(&e) // save recover error and stack trace to e
  numbers := []int{1, 2}
  fmt.Println(numbers[3]) // panic out of index
  return
}

func main() {
  err := example() // no panic occur
  fmt.Println(err)
  fmt.Println("End")
}

Documentation

You can read the full documentation of Grace here.

Contributing

Please read our guideline here.

License

Grace is licensed under the GNU GENERAL PUBLIC LICENSE V3.

About

Handle Go recover, panic, and errors in a graceful way. Multiple errors support, basic filters and custom handlers.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages