oxequa / grace

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

Home Page:https://grace.oxequa.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

https://grace.oxequa.com

License:GNU General Public License v3.0


Languages

Language:Go 100.0%