diff --git a/obsws_python/error.py b/obsws_python/error.py index 42719b1..ae310f7 100644 --- a/obsws_python/error.py +++ b/obsws_python/error.py @@ -1,6 +1,21 @@ class OBSSDKError(Exception): - """Exception raised when general errors occur""" + """Base class for OBSSDK errors""" -class OBSSDKTimeoutError(Exception): +class OBSSDKTimeoutError(OBSSDKError): """Exception raised when a connection times out""" + + +class OBSSDKRequestError(OBSSDKError): + """Exception raised when a request returns an error code""" + + def __init__(self, req_name, code, message=None): + self.req_name = req_name + self.code = code + self.message = " ".join( + [ + f"Request {self.req_name} returned code {self.code}.", + f"With message: {message}" if message else "", + ] + ) + super().__init__(self.message)