Handle Go recover, panic, and errors in a graceful way. Multiple errors support, basic filters and custom handlers.
Switch branches/tags
Nothing to show
Clone or download
Asoseil Merge pull request #3 from bbrks/add_quickstart_to_readme
Add full quickstart sample to readme
Latest commit d1b62e9 Mar 30, 2018

README.md

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.