| class ArxivRateLimitError(Exception): | |
| """Exception raised when arXiv API rate limit (429) is exceeded.""" | |
| def __init__( | |
| self, | |
| message: str = "arXiv API rate limit exceeded. Please try again in a few seconds.", | |
| retry_after: int | None = None, | |
| ): | |
| self.message = message | |
| self.retry_after = retry_after | |
| super().__init__(self.message) | |
| class ArxivAPIError(Exception): | |
| """Exception raised for general arXiv API errors.""" | |
| def __init__( | |
| self, message: str = "arXiv API error occurred.", status_code: int | None = None | |
| ): | |
| self.message = message | |
| self.status_code = status_code | |
| super().__init__(self.message) | |