class SemanticScholarException(Exception):
'''A base class for exceptions.'''
def __init__(self, *args: object) -> None:
super().__init__(*args)
class BadQueryParametersException(SemanticScholarException):
'''Invalid query params or unsupported fields.'''
class ObjectNotFoundException(SemanticScholarException):
'''Paper or Author ID not found.'''
class NoMorePagesException(SemanticScholarException):
'''No more pages to fetch.'''
class ServerErrorException(SemanticScholarException):
'''A base class for HTTP Status Code 5xx errors.'''
class InternalServerErrorException(ServerErrorException):
'''HTTP Status Code 500.'''
class GatewayTimeoutException(ServerErrorException):
'''HTTP Status Code 504.'''