Oops implements the batteries that are missing from the errors package:
- Stack traces: attach a stack trace to any error
- Chaining: combining multiple errors into a single stack of errors (as you might want when handling the errors from disposing resources like [file_close][file.Close()])
- Namespacing: create an error factory that prefixes errors with a given name
- Shadowing: hide the exact error behind a package level error (as you might want when trying to stabilize your API's supported errors)