tuned: prefer antiquotation for try-catch;
authorwenzelm
Mon, 25 Sep 2023 21:09:25 +0200
changeset 78710 27b2368ca69d
parent 78709 ebafb2daabb7
child 78711 3a3a70d4d422
tuned: prefer antiquotation for try-catch;
src/HOL/Matrix_LP/Cplex_tools.ML
--- a/src/HOL/Matrix_LP/Cplex_tools.ML	Mon Sep 25 20:56:44 2023 +0200
+++ b/src/HOL/Matrix_LP/Cplex_tools.ML	Mon Sep 25 21:09:25 2023 +0200
@@ -1150,15 +1150,17 @@
     val command = (wrap cplex)^" --lpt "^(wrap lpname)^" --output "^(wrap resultname)
     val answer = #1 (Isabelle_System.bash_output command)
     in
-    let
-        val result = load_glpkResult resultname
-        val _ = OS.FileSys.remove lpname
-        val _ = OS.FileSys.remove resultname
-    in
-        result
-    end
-    handle (Load_cplexResult s) => raise (Execute ("Load_cplexResult: "^s^"\nExecute: "^answer))
-         | exn => if Exn.is_interrupt exn then Exn.reraise exn else raise (Execute answer)
+    \<^try>\<open>
+      let
+          val result = load_glpkResult resultname
+          val _ = OS.FileSys.remove lpname
+          val _ = OS.FileSys.remove resultname
+      in
+          result
+      end
+      catch Load_cplexResult s => raise Execute ("Load_cplexResult: "^s^"\nExecute: "^answer)
+        | _ => raise Execute answer
+    \<close>
     end
 
 fun solve_cplex prog =