package mc2
Source file Error.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20exception Error of string let err_ksprintf ~f fmt = let buf = Buffer.create 32 in let out = Format.formatter_of_buffer buf in CCFormat.set_color_tag_handling out; Format.fprintf out "@[<2>@{<Red>error:@}@ "; Format.kfprintf (fun _ -> Format.fprintf out "@]@?"; f (Buffer.contents buf)) out fmt let err_sprintf fmt = err_ksprintf ~f:CCFun.id fmt let errorf msg = err_ksprintf ~f:(fun e -> raise (Error e)) msg let error msg = errorf "%s" msg let () = Printexc.register_printer (function | Error msg -> Some msg | _ -> None)