src/Pure/ML/exn_trace_polyml-5.5.1.ML
author wenzelm
Wed, 29 Oct 2014 15:02:29 +0100
changeset 58821 11e226e8a095
parent 56283 20cf88cd3188
child 59055 5a7157b8e870
permissions -rw-r--r--
modernized setup;

(*  Title:      Pure/ML/exn_trace_polyml-5.5.1.ML
    Author:     Makarius

Exception trace for Poly/ML 5.5.1, using regular Isabelle output.
*)

fun print_exception_trace exn_message e =
  PolyML.Exception.traceException
    (e, fn (trace, exn) =>
      let
        val title = "Exception trace - " ^ exn_message exn;
        val _ = tracing (cat_lines (title :: trace));
      in reraise exn end);

PolyML.Compiler.reportExhaustiveHandlers := true;