exception-template 1.0.0

Creator: bradpython12

Last updated:

Add to Cart

Description:

exceptiontemplate 1.0.0

Raise exceptions with consistent messages while avoiding the boiler plate.
Compare this:
>>> from exception_template import ExceptionTemplate
>>> class MyException(ExceptionTemplate):
... message = 'Hello, {person}. Here is my {adjective} exception class.'
>>> raise MyException(person='Ryan', adjective='fancy')
Traceback (most recent call last):
...
MyException: Hello, Ryan. Here is my fancy exception class.

To this:
>>> class MyException(Exception):
... def __init__(self, person: str, adjective: str) -> None:
... self.person = person
... self.adjective = adjective
... super().__init__('Hello, {person}. Here is my {adjective} exception class.'
... .format(person=person, adjective=adjective))
>>> raise MyException('Ryan', 'lame')
Traceback (most recent call last):
...
MyException: Hello, Ryan. Here is my lame exception class.

Or this:
>>> class MyException(Exception):
... pass
>>> raise MyException('Hello, Ryan. Here is my exception class with a message I copy-pasted in 500 places.')
Traceback (most recent call last):
...
MyException: Hello, Ryan. Here is my exception class with a message I copy-pasted in 500 places.

Additionally, the ExceptionTemplate parameters are available as members on the exception instance:
>>> try:
... foo()
... except MyException as ex:
... print(ex.person)
Ryan


Installing
pip install exception-template
No extra dependencies are needed!

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.