1

可以说我有一个异常定义如下:

exception MyException of string

我在一个函数中提出它(这个函数返回字符串),如下所示:

fun foo ... = raise DomenaInterpretacije ("Error ...")   
  | foo ... ...

然后我以某种方式调用该函数,这会产生异常:

fun testExc () =
     (foo ...)
     handle MyException msg => msg

但这些产量:

Error: non-constructor applied to argument in pattern: MyException 
Error: unbound variable or constructor: msg

我在这里做错了什么?

4

2 回答 2

2

显然,您做错了什么与您粘贴的代码无关。

下面提供了您的代码的工作示例:

exception MyException of string

fun foo () = raise MyException "I wonder what happened."

fun testFoo () =
    foo ()
    handle MyException msg => msg
于 2014-12-05T08:25:23.593 回答
1

异常实际上是在模块内部定义的,所以我不得不像 MyModule.MyException msg 一样调用它。

于 2014-12-10T11:04:22.183 回答