jerr icon indicating copy to clipboard operation
jerr copied to clipboard

JSON errors for Go Rest APIs.

JSON Errors for Go

PkgGoDev Go (build) Go Report Card

jerr provides a simple error handling for your rest applications.

Features

  • Compatible with built-in error interface
  • Error wrapping
  • JSON escaping

Requirements

Getting Started

go get github.com/erdaltsksn/jerr
touch main.go

main.go:

package main

import (
	"fmt"

	"github.com/erdaltsksn/jerr"
)

func main() {
	err := someFunc()
	if err != nil {
		wrapped := jerr.Wrap(err, "Message about error")
		fmt.Println(wrapped.Error())
	}
}

func someFunc() error {
	return jerr.New("nope")
}
go run main.go

Output:

{"message":"Message about error","details":{"message":"nope"}}

Installation

go get github.com/erdaltsksn/jerr

Updating / Upgrading

go get -u github.com/erdaltsksn/jerr

Usage

// Simple error.
errSimple := jerr.New("Error Message")

// An error that wraps another error.
err := SomeFunc()
if err != nil {
    fmt.Print(jerr.Wrap(err, "Message about error"))
}

Check out examples directory for more.

Contributing

If you want to contribute to this project and make it better, your help is very welcome.

For more information, see Contributing Guide.

Security Policy

If you discover a security vulnerability within this project, please follow our Security Policy.

Code of Conduct

This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.

Disclaimer

In no event shall we be liable to you or any third parties for any special, punitive, incidental, indirect or consequential damages of any kind, or any damages whatsoever, including, without limitation, those resulting from loss of use, data or profits, and on any theory of liability, arising out of or in connection with the use of this software.