Skip to content

MaartendeRuyter/errors

Repository files navigation

Error Manager

Managing error codes throughout you project

Error-manager is a simple library for Python to manage all your projects error codes.

docs Documentation Status
tests Coverage Status
package PyPI Package latest release Commits since latest release

error-manager main use cases

Main use case for the error-manager package is to implement a ListErrors class that can be used throughout your project to define and access immutable standard error codes and descriptions

# retrieve customer defined ErrorCode object form ``ListErrors`` class
>>> from errors.error import ListErrors
>>> ListErrors.API_GET_RETURNED_404
ErrorCode(
    code='ER_API404_00001',
    description='API get request returned 404',
    error_data={})

# add custom error data to error message when you want to persist or log the error
# As the errorcode are immutable the add_error_data returns a new error (immutable) error code.
>>> from errors.base import add_error_data
>>> error_without_data = ListErrors.API_GET_RETURNED_404
>>> error_with_data = add_error_data(error_without_data, {'url': 'www.bad_url.com'})
>>> error_with_data
ErrorCode(
    code='ER_API404_00001',
    description='API get request returned 404',
    error_data={'url': 'www.bad_url.com'})

This ErrorCode could be returned by the method performing the request so that the logic calling this method is aware of the failing request.

In order to use a single type as return value the error-manager package introduces a ReturnValue class that can hold the actual response, any possible downstream errors and the status of the return value. See ReturnValue documentation.

Documentation

https://errors.readthedocs.io/