Обработка и печать исключений с помощью 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