diff --git a/dotdrop/cfg_aggregator.py b/dotdrop/cfg_aggregator.py index 8965aab..01f1125 100644 --- a/dotdrop/cfg_aggregator.py +++ b/dotdrop/cfg_aggregator.py @@ -17,7 +17,7 @@ from dotdrop.profile import Profile from dotdrop.action import Action, Transform from dotdrop.logger import Logger from dotdrop.utils import strip_home, debug_list, debug_dict -from dotdrop.exceptions import UndefinedException +from dotdrop.exceptions import UndefinedException, YamlException TILD = '~' @@ -41,7 +41,10 @@ class CfgAggregator: self.debug = debug self.dry = dry self.log = Logger(debug=self.debug) - self._load() + try: + self._load() + except Exception as exc: + raise YamlException(exc) from exc self._validate() ######################################################## diff --git a/tests/test_yamlcfg.py b/tests/test_yamlcfg.py index 8539e33..366a63a 100644 --- a/tests/test_yamlcfg.py +++ b/tests/test_yamlcfg.py @@ -12,6 +12,7 @@ import os from dotdrop.cfg_yaml import CfgYaml as Cfg from dotdrop.options import Options from dotdrop.linktypes import LinkTypes +from dotdrop.exceptions import YamlException from tests.helpers import (SubsetTestCase, _fake_args, clean, create_fake_config, create_yaml_keyval, get_tempdir, populate_fake_config, yaml_load, yaml_dump) @@ -129,7 +130,7 @@ profiles: args['--cfg'] = 'mocked' args['--verbose'] = True - with self.assertRaises(ValueError): + with self.assertRaises(YamlException): o = Options(args=args) print(o.import_link)