Source code for subway.exceptions
"""
Exception classes for subway.
"""
# TODO: more organized and hierachical exceptions.
[docs]class SubwayException(Exception):
[docs] def __init__(self, message, code=10):
"""
:param message: str.
:param code: int. 10 general, 11 jobid unmatch, 12 only valid for general without id
13 no such atrribute in history of conf
"""
self.message = message
self.code = code
def __str__(self):
return "%s %s" % (self.__class__.__name__, self.message)
[docs]class CLIException(SubwayException):
[docs] def __init__(self, message, code=10):
super().__init__(message, code)
[docs]class MatchError(CLIException):
[docs] def __init__(self, message, code=11):
super().__init__(message, code)
[docs]class NoAttribute(CLIException):
[docs] def __init__(self, message, code=13):
super().__init__(message, code)
[docs]class EndingBubble(SubwayException):
pass
[docs]class TestBubble(SubwayException):
pass