From 979b7cbba63f6c033bab40ad5c552572ab5d7d71 Mon Sep 17 00:00:00 2001 From: Hugo Herbelin Date: Sun, 31 Jul 2016 07:57:13 +0200 Subject: Two protections against failures when printing evar_map. Delimit the scope of the failure to ease potential need for debugging the debugging printer. Protect against one of the causes of failure (calling get_family_sort_of with non-synchronized sigma). --- engine/evd.ml | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'engine') diff --git a/engine/evd.ml b/engine/evd.ml index e4b174bcb3..6ba8a51120 100644 --- a/engine/evd.ml +++ b/engine/evd.ml @@ -1258,6 +1258,12 @@ let pr_instance_status (sc,typ) = | TypeProcessed -> str " [type is checked]" end +let protect f x = + try f x + with e -> str "EXCEPTION: " ++ str (Printexc.to_string e) + +let print_constr a = protect print_constr a + let pr_meta_map mmap = let pr_name = function Name id -> str"[" ++ pr_id id ++ str"]" -- cgit v1.2.3