From 19b0b3effbcfd073b46c7f00f49062cc83e2936f Mon Sep 17 00:00:00 2001 From: Daniil Baturin Date: Fri, 23 Dec 2016 03:05:49 +0700 Subject: Handle Xml exceptions in Reference_tree.load_from_xml and re-raise as Bad_interface_definition to make things simpler for callers. --- src/reference_tree.ml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/reference_tree.ml b/src/reference_tree.ml index 8372ea0..8b26449 100644 --- a/src/reference_tree.ml +++ b/src/reference_tree.ml @@ -119,12 +119,14 @@ let load_from_xml reftree file = try Pcre.split (Xml.attrib xml "extends") with _ -> [] in List.fold_left (insert_from_xml basepath) reftree children - - | _ -> raise (Bad_interface_definition "Should start with ") in - let xml = Xml.parse_file file in - xml_to_reftree xml reftree + try + let xml = Xml.parse_file file in + xml_to_reftree xml reftree + with + | Xml.File_not_found msg -> raise (Bad_interface_definition msg) + | Xml.Error e -> raise (Bad_interface_definition (Xml.error e)) (* Validation function *) -- cgit v1.2.3