From 9941a3f92ca84e66be2ddeff53e80ddff38ca708 Mon Sep 17 00:00:00 2001 From: Ruslan Kuprieiev Date: Sat, 21 Oct 2017 01:14:20 +0300 Subject: [PATCH] state: capture exception if unable to parse target metrics Fixes #265 Signed-off-by: Ruslan Kuprieiev --- dvc/state_file.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dvc/state_file.py b/dvc/state_file.py index 0b45bc625..22004fb52 100644 --- a/dvc/state_file.py +++ b/dvc/state_file.py @@ -113,7 +113,13 @@ class StateFile(object): @staticmethod def parse_target_metric(file_name): - lines = open(file_name).readlines(2) + fd = open(file_name, 'r') + + try: + lines = fd.readlines(2) + except Exception as e: + raise StateFileError('Unable to parse target file') + if len(lines) != 1: raise StateFileError('file contains more then one line')