line = line.strip()
if os.path.exists(filepath(line)):
level_file = load(line)
- self.levels.append(Level(level_file))
+ level = Level(level_file)
level_file.close()
+ try:
+ level.validate()
+ except RuntimeError as err:
+ raise RuntimeError(
+ 'Invalid level %s in level_list: %s' % (line, err))
+ self.levels.append(level)
else:
raise RuntimeError('Level list includes non-existant level %s' % line)
level_list.close()