Source code for isek.exceptions

[docs] class NodeUnavailableError(Exception): """ Custom exception raised when a required node in a distributed system is unavailable. This exception can be used to signal issues like network failures, a node not being registered, or a node not responding within an expected timeframe. :ivar node_name: The name or identifier of the node that was found to be unavailable. :vartype node_name: str :ivar message: The complete error message, including the node name and specific reason. :vartype message: str """ def __init__(self, node_name: str, message: str = "Node is unavailable"): """ Initializes the NodeUnavailableError. :param node_name: The name or identifier of the unavailable node. :type node_name: str :param message: An optional specific message detailing why the node is unavailable. Defaults to "Node is unavailable". This message will be appended to the standard prefix "Node '<node_name>' is unavailable: ". :type message: str """ self.node_name: str = node_name # Construct the full message including the node name self.message: str = f"Node '{node_name}' is unavailable: {message}" super().__init__(self.message) def __str__(self) -> str: """ Returns the string representation of the exception. :return: The detailed error message. :rtype: str """ return self.message