"""All the custom exceptions used within failsafe are declared here"""


class StrictModeError(ValueError):
    """
    To be raised when the exceptional condition which could have
    been ignored normally, but being raised as the application
    is running in `strict` mode.

    Such errors will normally be due to invalid or missing input.
    Hence, this class extends `ValueError`
    """


class MemoryLimitExhausted(Exception):
    # TODO: implement custom exception
    def __init__(self, status_code, *args, **kwargs):
        self.status_code = status_code
        super(MemoryLimitExhausted, self).__init__(*args, **kwargs)
