Coverage for src / openenv / core / errors.py: 100.00%

7 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-03-25 13:36 +0000

1"""Custom exceptions for OpenClawenv.""" 

2 

3 

4class OpenEnvError(Exception): 

5 """Base exception for OpenClawenv failures.""" 

6 

7 

8class ValidationError(OpenEnvError): 

9 """Raised when manifest or lockfile validation fails.""" 

10 

11 

12class LockResolutionError(OpenEnvError): 

13 """Raised when lock-time dependency resolution cannot complete.""" 

14 

15 

16class CommandError(OpenEnvError): 

17 """Raised when an external command fails.""" 

18 

19 def __init__(self, message: str, *, exit_code: int | None = None): 

20 """Store the human-readable command failure together with an optional exit code.""" 

21 super().__init__(message) 

22 self.exit_code = exit_code