| class IsaacLabArenaError(RuntimeError): | |
| """Base exception for IsaacLab Arena environment errors.""" | |
| def __init__(self, message: str = "IsaacLab Arena error"): | |
| self.message = message | |
| super().__init__(self.message) | |
| class IsaacLabArenaConfigError(IsaacLabArenaError): | |
| """Exception raised for invalid environment configuration.""" | |
| def __init__(self, invalid: list, available: list, key_type: str = "keys"): | |
| msg = f"Invalid {key_type}: {invalid}. Available: {sorted(available)}" | |
| super().__init__(msg) | |
| self.invalid = invalid | |
| self.available = available | |
| class IsaacLabArenaCameraKeyError(IsaacLabArenaConfigError): | |
| """Exception raised when camera_keys don't match available cameras.""" | |
| def __init__(self, invalid: list, available: list): | |
| super().__init__(invalid, available, "camera_keys") | |
| class IsaacLabArenaStateKeyError(IsaacLabArenaConfigError): | |
| """Exception raised when state_keys don't match available state terms.""" | |
| def __init__(self, invalid: list, available: list): | |
| super().__init__(invalid, available, "state_keys") |