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

Apparently, what you are doing wrong has little to do with the code you have pasted.

A working example of your code is provided below:

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 に答える