V gives you the ability to define custom error types through the
The interface requires two methods:
msg() string and
Every type that implements these methods can be used as an error.
When defining a custom error type, it is recommended to embed the builtin
This provides an empty default implementation for both required methods, so you only have
to implement what you really need, and may provide additional utility functions in the future.