py.lib.aw_config
3:bac1fe0751a9 Browse Files
. Декорируем возможные ошибки в чтении файла конфигурации.
pyproject.toml setup.py src/aw_config/file.py
1.1 --- a/pyproject.toml Sat May 04 20:36:03 2024 +0300 1.2 +++ b/pyproject.toml Sun May 05 11:32:45 2024 +0300 1.3 @@ -4,7 +4,7 @@ 1.4 1.5 [project] 1.6 name = "aw_config" 1.7 -version = "0.202405.7" 1.8 +version = "0.202405.8" 1.9 description = "Модуль поддержки процесса конфигурирования приложения" 1.10 #readme = "README.md" 1.11 requires-python = ">=3.9"
2.1 --- a/setup.py Sat May 04 20:36:03 2024 +0300 2.2 +++ b/setup.py Sun May 05 11:32:45 2024 +0300 2.3 @@ -3,7 +3,7 @@ 2.4 2.5 setup( 2.6 name='aw_config', 2.7 - version='0.202405.7', 2.8 + version='0.202405.8', 2.9 packages=['aw_config'], 2.10 package_dir={'aw_config': 'src/aw_config'}, 2.11 url='https://devel.a0fs.ru/py.lib.aw_config',
3.1 --- a/src/aw_config/file.py Sat May 04 20:36:03 2024 +0300 3.2 +++ b/src/aw_config/file.py Sun May 05 11:32:45 2024 +0300 3.3 @@ -114,7 +114,17 @@ 3.4 """\ 3.5 Производим разбор файла конфигурации и создаём корневой раздел конфигурации 3.6 """ 3.7 - return ConfigFileContent(toml.load(self.file_name)) 3.8 + try: 3.9 + return ConfigFileContent(toml.load(self.file_name)) 3.10 + 3.11 + except OSError as e: 3.12 + raise ConfigFileError(f'Ошибка чтения файла "{self.file_name}": {e}') 3.13 + 3.14 + except toml.TomlDecodeError as e: 3.15 + raise ConfigFileError(f'Ошибка в разборе файла конфигурации: {e}') 3.16 + 3.17 + except ValueError as e: 3.18 + raise ConfigFileError(f'Ошибка разбора файла конфигурации: {ConfigFileError.fmt_error(e)}') 3.19 3.20 def __exit__(self, exc_type, exc_val, exc_tb): 3.21 pass