Open
Description
Situation
Currently, our code catches an invalid version and raise an exception. This is good. However, the exceptions are usually builtin exceptions like TypeError
, ValueError
, or AttributeError
.
This could make it likely, that an semver exceptions are "hidden". It cannot explicitly be checked that a TypeError
is coming from semver and not from another, unrelated third party library.
Proposal
This part could be solved by introducing our own hierarchy of exceptions like so:
class InvalidVersionError(ValueError):
"""Raised by invalid parts in a semver version"""
The nice thing about this approach is, any old code would still work (as InvalidVersionError
is derived from ValueError
).
@python-semver/reviewers would that be an option?