Catch any/all exceptions from config file parsing

This commit is contained in:
Chris Jones 2010-02-08 21:11:38 +00:00
parent 79381c61d0
commit 8307951001
1 changed files with 9 additions and 5 deletions

View File

@ -468,13 +468,17 @@ class ConfigBase(Borg):
try:
configfile = open(filename, 'r')
except Exception, ex:
dbg('ConfigBase::load: Unable to open %s (%s)' % (filename, ex))
err('ConfigBase::load: Unable to open %s (%s)' % (filename, ex))
return
configspec = self.defaults_to_configspec()
parser = ConfigObj(configfile, configspec=configspec)
validator = Validator()
result = parser.validate(validator, preserve_errors=True)
try:
configspec = self.defaults_to_configspec()
parser = ConfigObj(configfile, configspec=configspec)
validator = Validator()
result = parser.validate(validator, preserve_errors=True)
except Exception, ex:
err('Unable to load configuration: %s' % ex)
return
if result != True:
err('ConfigBase::load: config format is not valid')