Coverage for dataexcept/exceptions/parsing.py: 100%

18 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-09-03 20:46 +0000

1# parsing.py 

2from .base import JobError 

3 

4 

5class ParsingError(JobError): 

6 """Raised when parsing of input data fails.""" 

7 

8 def __init__(self, text: str, message: str | None = None): 

9 self.text = text 

10 self.message = message or f"Failed to parse text: {text!r}" 

11 super().__init__(self.message) 

12 

13 

14class SerializationError(JobError): 

15 """Raised when serialization of an object fails.""" 

16 

17 def __init__(self, obj, format: str, message: str | None = None): 

18 self.obj = obj 

19 self.format = format 

20 self.message = message or f"Failed to serialize object to {format}" 

21 super().__init__(self.message) 

22 

23 

24class DeserializationError(JobError): 

25 """Raised when deserialization of data fails.""" 

26 

27 def __init__(self, data: bytes, format: str, message: str | None = None): 

28 self.data = data 

29 self.format = format 

30 self.message = message or f"Failed to deserialize data from {format}" 

31 super().__init__(self.message)