Simple and useful error handling package in Golang
- Fundamental
- Support stacktrace
- Wrap existing errors
- Easy and pretty error handling
- Support serialization (for transports in grpc, api, etc...)
- Support stacktrace errors in github.com/pkg/errors
- Handling error types with code numbers (you can extends with constants)
Get from Github:
go get github.com/golage/errors
Import into your code:
import "github.com/golage/errors"
Create error instance:
errors.New(errors.CodeNotFound, "somethings")
errors.New(errors.CodeNotFound, "somethings %v", 123)
Wrap existing error:
errors.Wrap(err, errors.CodeInternal, "somethings")
errors.Wrap(err, errors.CodeInternal, "somethings %v", 123)
Handle error:
switch err, code := errors.Parse(err); code {
case errors.CodeNil:
case errors.CodeNotFound:
log.Fatalf("not found: %v", err)
default:
log.Fatalf("others: %v\n%v", err, err.StackTrace())
}
For more see example