24 lines
1.1 KiB
Python
24 lines
1.1 KiB
Python
|
"""Exceptions that are meant to be used by HoloUser class
|
||
|
and other modules that handle those exceptions"""
|
||
|
|
||
|
class UserNotFoundError(Exception):
|
||
|
"""HoloUser could not find user with such an ID in database"""
|
||
|
def __init__(self, user, user_id):
|
||
|
self.user = user
|
||
|
self.user_id = user_id
|
||
|
super().__init__(f"User of type {type(self.user)} with id {self.user_id} was not found")
|
||
|
|
||
|
class UserInvalidError(Exception):
|
||
|
"""Provided to HoloUser object is not supported"""
|
||
|
def __init__(self, user):
|
||
|
self.user = user
|
||
|
super().__init__(f"Could not find HoloUser by using {type(self.user)} as an input type")
|
||
|
|
||
|
class LabelTooLongError(Exception):
|
||
|
def __init__(self, label: str) -> None:
|
||
|
self.label = label
|
||
|
super().__init__(f"Could not set label to '{label}' because it is {len(label)} characters long (16 is maximum)")
|
||
|
|
||
|
class LabelSettingError(Exception):
|
||
|
def __init__(self, exp: Exception, trace: str) -> None:
|
||
|
super().__init__(f"❌ **Could not set label**\n\nException: `{exp}`\n\n**Traceback:**\n```\n{trace}\n```")
|