# README
elliotxx/errors
is a golang package for web development, inspired by pkg/errors!
📜 Language
âš¡ Usage
go get -u github.com/elliotxx/errors
✨ Features
- More detailed error information, e.g. error code, message, cause, stack trace
- More powerful API
- Lightweight
📚 Examples
Example 1:
package errcodes
import "github.com/elliotxx/errors"
var (
Success = errors.NewErrorCode("00000", "success")
NotFound = errors.NewErrorCode("A0100", "not found")
AccessPermissionError = errors.NewErrorCode("A0200", "abnormal access permission")
AbnormalUserOperation = errors.NewErrorCode("A0300", "abnormal user operation")
InvalidParams = errors.NewErrorCode("A0400", "invalid params")
BlankRequiredParams = errors.NewErrorCode("A0401", "required parameter is blank")
MalformedParams = errors.NewErrorCode("A0403", "parameter format mismatch")
ServerError = errors.NewErrorCode("A0500", "server error")
TooManyRequests = errors.NewErrorCode("A0501", "too many requests")
ConcurrentExceedLimit = errors.NewErrorCode("A0502", "the request parallel number exceeds the limit")
WaitUserOperation = errors.NewErrorCode("A0503", "please wait for user operation")
RepeatedRequest = errors.NewErrorCode("A0504", "repeated request")
)
Example 2:
detailErr := New("name is empty")
// detailErr.Error() returns "cause [name is empty]"
ErrBlankParameter := NewErrorCode("A0401", "required parameter is blank")
// ErrBlankParameter.Error() returns "code [A0401], msg [required parameter is blank]"
detailErr = NewDetailError("A0401", "required parameter is blank", fmt.Errorf("name is empty"))
// detailErr.Error() returns "code [A0401], msg [required parameter is blank], cause [name is empty]"
detailErr = Errorf("%s is not exist", "John")
// detailErr.Error() returns "cause [John is not exist]"
detailErr = Code("A0401").Msg("required parameter is blank").Cause(fmt.Errorf("name is empty"))
// detailErr.Error() returns "code [A0401], msg [required parameter is blank], cause [name is empty]"
detailErr = Code("A0401").Msg("required parameter is blank")
// detailErr.Error() returns "code [A0401], msg [required parameter is blank]"
detailErr = Code("A0401").Cause(fmt.Errorf("name is empty"))
// detailErr.Error() returns "code [A0401], cause [name is empty]"
detailErr = Code("A0401").Causef("name is empty")
// detailErr.Error() returns "code [A0401], cause [name is empty]"
detailErr = Code("A0401").Causef("%s is empty", "name")
// detailErr.Error() returns "code [A0401], cause [name is empty]"
rootCause := fmt.Errorf("name is empty")
detailErr = Code("A0401").Causewf(rootCause, "failed to validate parameter")
// detailErr.Error() returns "code [A0401], cause [failed to validate parameter: name is empty]"
detailErr = Msg("required parameter is blank")
// detailErr.Error() returns "msg [required parameter is blank]"
detailErr = ErrBlankParameter.Cause(fmt.Errorf("name is empty"))
// detailErr.Error() returns "code [A0401], msg [required parameter is blank], cause [name is empty]"
# Functions
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
New returns an error with the supplied message.
No description provided by the author
No description provided by the author
No description provided by the author
Wrap returns an error annotating err with a stack trace at the point Wrap is called, and the supplied message.
Wrapf returns an error annotating err with a stack trace at the point Wrapf is called, and the format specifier.
No description provided by the author