Coverage for src / ezcompiler / shared / exceptions / utils / config_exceptions.py: 100.00%

12 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-03-27 06:49 +0000

1# /////////////////////////////////////////////////////////////// 

2# CONFIG_EXCEPTIONS - Configuration exceptions 

3# Project: ezcompiler 

4# /////////////////////////////////////////////////////////////// 

5 

6""" 

7Configuration exceptions - Specialized exceptions for configuration operations. 

8 

9This module defines exceptions for various configuration-related failures 

10used by ConfigUtils and configuration validation. 

11""" 

12 

13from __future__ import annotations 

14 

15# /////////////////////////////////////////////////////////////// 

16# IMPORTS 

17# /////////////////////////////////////////////////////////////// 

18from .base import EzCompilerError 

19 

20# /////////////////////////////////////////////////////////////// 

21# EXCEPTIONS 

22# /////////////////////////////////////////////////////////////// 

23 

24 

25class ConfigError(EzCompilerError): 

26 """Base exception for configuration errors.""" 

27 

28 

29class ConfigFieldValidationError(ConfigError): 

30 """Raised when configuration field validation fails.""" 

31 

32 

33class ConfigPathError(ConfigError): 

34 """Raised when configuration paths are invalid.""" 

35 

36 

37class CompilerOptionError(ConfigError): 

38 """Raised when compiler option is invalid.""" 

39 

40 

41class OutputFolderError(ConfigError): 

42 """Raised when output folder configuration is invalid.""" 

43 

44 

45class IncludeFilesError(ConfigError): 

46 """Raised when include files configuration is invalid.""" 

47 

48 

49class MissingRequiredConfigError(ConfigError): 

50 """Raised when required configuration is missing.""" 

51 

52 

53class ConfigFileNotFoundError(ConfigError): 

54 """Raised when a configuration file cannot be found.""" 

55 

56 

57class ConfigFileParseError(ConfigError): 

58 """Raised when a configuration file cannot be parsed.""" 

59 

60 

61class TomlNotAvailableError(ConfigError): 

62 """Raised when TOML parsing is requested but tomllib/tomli is not available."""