Refactor errdefs with an API more similar to the standard library #14
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This updates errdefs to have an API similar to the standard library. The
New
method is the equivalent offmt.Errorf
andJoin
is the equivalent oferrors.Join
.These methods also support the proper output of stack traces by ensuring the proper handling of the formatting for collapsible errors.
Similarly, the
stack
package has been updated to remove the context-based helper and instead directly expose the function that creates the stack error. The stack error is also renamed toError
and exposed rather than left unexported.The
stack
package can be used to directly create errors with stacks when one isn't present. It is also possible to add multiple stacks to a single error througherrdefs.Join
anderrdefs.ErrStack
to manually create a stack error.