Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jbowes/framerr

Extract frame information from Go2 error values
https://github.com/jbowes/framerr

errors go go2 golang

Last synced: about 1 month ago
JSON representation

Extract frame information from Go2 error values

Awesome Lists containing this project

README

        

framerr


Extract frame information from Go error values


GoDoc
Alpha Quality
Build Status
GitHub tag
BSD license
codecov
Go Report Card


## Introduction
Introduction | [Usage] | [Contributing]

🚧 ___Disclaimer___: _`framerr` is alpha quality software. The API may change
without warning between revisions._ 🚧

`framerr` extracts stack frame information for Go2 error values

## Usage
[Introduction] | Usage | [Contributing]

As Go2 error value stack frame information is not programatically accessible,
you can use `framerr` to extract a slice of frames from an error chain.
```go
err1 := xerrors.New("an error")
err2 := cling.Wrap(err1, "wrapped")

// ...

frames := framerr.Extract(err)
```

Each `Frame` holds the error message, and a `Source` field that contains file,
package, function, and line information. Use these details to send stack info
to your favorite error tracking service!

For complete examples and usage, see the [GoDoc documentation](https://godoc.org/github.com/jbowes/framerr).

## Contributing
[Introduction] | [Usage] | Contributing

I would love your help!

`framerr` is still a work in progress. You can help by:

- Opening a pull request to resolve an [open issue][issues].
- Adding a feature or enhancement of your own! If it might be big, please
[open an issue][enhancement] first so we can discuss it.
- Improving this `README` or adding other documentation to `framerr`.
- Letting [me] know if you're using `framerr`.

[introduction]: #introduction
[examples]: #examples
[usage]: #usage
[contributing]: #contributing

[go]: https://golang.org

[issues]: ./issues
[bug]: ./issues/new?labels=bug
[enhancement]: ./issues/new?labels=enhancement

[me]: https://twitter.com/jrbowes