diff options
author | Vladimir Azarov <avm@intermediate-node.net> | 2025-05-25 19:59:56 +0200 |
---|---|---|
committer | Vladimir Azarov <avm@intermediate-node.net> | 2025-05-25 19:59:56 +0200 |
commit | d9c809a5550b2fe23b2fd1e66672b503730d55f1 (patch) | |
tree | 6f8001d56823305f9f93c52833362b28e9d2def4 /exn_handler.fun | |
parent | 2a1cfad37d5e87b2d7eb3c9da16db66364a9b9a3 (diff) |
Expression parsing
Diffstat (limited to 'exn_handler.fun')
-rw-r--r-- | exn_handler.fun | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/exn_handler.fun b/exn_handler.fun deleted file mode 100644 index c0a2d7a..0000000 --- a/exn_handler.fun +++ /dev/null @@ -1,36 +0,0 @@ -structure ExnHandler: EXN_HANDLER = struct - - val eprintf = fn z => printf `"error: " z - - fun otherExn e = - let - val hist = MLton.Exn.history e - in - eprintf `"exception " `(exnMessage e) `" was raised\n"; - if hist = [] then - printf - `"No stack trace is avaliable\n" - `"Recompile with -const \"Exn.keepHistory true\"\n" % - else - List.app (fn x => printf `"\t" `x `"\n" %) hist - end - - fun ioExn (IO.Io { name, function = _, cause }) = - let - val reason = - case cause of - OS.SysErr (str, _) => str - | _ => exnMessage cause - in - eprintf `name `": " `reason `"\n" % - end - | ioExn _ = die 126 `"ioExn: unreachable\n" % - - fun handler e = ( - printf `"\n"; - case e of - IO.Io _ => ioExn e - | _ => otherExn e; - exit 1 - ) handle _ => sysExit 127 -end |