使用 SML 处理和打印异常

Handling and printing exceptions with SML

我的代码看起来很像:

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

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

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

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

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