diff options
| author | letouzey | 2013-03-13 00:00:59 +0000 |
|---|---|---|
| committer | letouzey | 2013-03-13 00:00:59 +0000 |
| commit | 033fed4d6788be791bb1c980f3cddc10827d6318 (patch) | |
| tree | 42184b7d27f439e74aee474c34afd623b9d91087 /plugins/funind/invfun.ml | |
| parent | 8d70a84682ded179c461e633c7865486c63e55db (diff) | |
Restrict (try...with...) to avoid catching critical exn (part 15)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16292 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'plugins/funind/invfun.ml')
| -rw-r--r-- | plugins/funind/invfun.ml | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/plugins/funind/invfun.ml b/plugins/funind/invfun.ml index bb775d40a4..16b1881f47 100644 --- a/plugins/funind/invfun.ml +++ b/plugins/funind/invfun.ml @@ -60,9 +60,13 @@ let observe strm = let do_observe_tac s tac g = - let goal = begin try (Printer.pr_goal g) with _ -> assert false end in + let goal = + try Printer.pr_goal g + with e when Errors.noncritical e -> assert false + in try - let v = tac g in msgnl (goal ++ fnl () ++ s ++(str " ")++(str "finished")); v + let v = tac g in + msgnl (goal ++ fnl () ++ s ++(str " ")++(str "finished")); v with reraise -> let e = Cerrors.process_vernac_interp_error reraise in msgnl (str "observation "++ s++str " raised exception " ++ |
