使用SML处理和打印异常

时间:2018-10-08 14:15:10

标签: exception-handling sml mlton

我有一个看起来很像的代码:

ignore
  (f ())
  handle
    AssertionError msg         => (print ("assertion error: " ^ msg ^ "\n"); ())
    | _ (* other exceptions *) => (print ("exception raised\n"); ())

但是我需要打印通用异常消息(带有exnMessage?)。

如何捕获_异常以获取并打印其消息?

1 个答案:

答案 0 :(得分:2)

使用名称而不是_来匹配异常,并使用exnMessage

- (hd ([]: string list)) handle e => exnMessage e;
val it = "Empty" : string