1 file changed +25
-0
lines changed Original file line number Diff line number Diff line change
1
+ # exceptions.py
2
+
3
+ class DataFogException (Exception ):
4
+ """Base exception for DataFog SDK"""
5
+ def __init__ (self , message : str , status_code : int = None ):
6
+ self .message = message
7
+ self .status_code = status_code
8
+ super ().__init__ (self .message )
9
+
10
+ class BadRequestError (DataFogException ):
11
+ """Exception raised for 400 Bad Request errors"""
12
+ def __init__ (self , message : str ):
13
+ super ().__init__ (message , status_code = 400 )
14
+
15
+ class UnprocessableEntityError (DataFogException ):
16
+ """Exception raised for 422 Unprocessable Entity errors"""
17
+ def __init__ (self , message : str ):
18
+ super ().__init__ (message , status_code = 422 )
19
+
20
+ def raise_for_status_code (status_code : int , error_message : str ):
21
+ """Raise the appropriate exception based on the status code"""
22
+ if status_code == 400 :
23
+ raise BadRequestError (error_message )
24
+ elif status_code == 422 :
25
+ raise UnprocessableEntityError (error_message )
0 commit comments