Обработване и отпечатване на изключения с SML

Имам код, който изглежда доста така:

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

Но трябва да отпечатам общото съобщение за изключение (с exnMessage?).

Как да хвана изключението _, за да получа и отпечатам съобщението му?


person Arĥimedeς ℳontegasppα ℭacilhας    schedule 08.10.2018    source източник


Отговори (1)


Свържете изключението с име вместо _ и използвайте exnMessage:

- (hd ([]: string list)) handle e => exnMessage e;
val it = "Empty" : string
person molbdnilo    schedule 08.10.2018
comment
Еха! Кълна се, че все още мислех, че съм го пробвал. ???? Работи, благодаря! - person Arĥimedeς ℳontegasppα ℭacilhας; 08.10.2018