Обработка и печать исключений с помощью SML

У меня есть код, который выглядит так:

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

Но мне нужно напечатать общее сообщение об исключении (с exnMessage?).

Как мне поймать _ исключение для того, чтобы получить и распечатать свое сообщение?

1 ответ

Решение

Сопоставить исключение с именем вместо _ и использовать exnMessage:

- (hd ([]: string list)) handle e => exnMessage e;
val it = "Empty" : string
Другие вопросы по тегам