F#异常类型的本质是什么

时间:2011-07-07 19:28:01

标签: exception f#

我正在学习F#,我发现了一个有趣的问题。 我们可以使用F#类型异常

exception MyExpetion of string

然而,当我们匹配它时,我们可以使用与匹配区别联合相同的语法。同时,它是一个System.Exception。这是怎么做到的? F#例外的类型是什么?我试图搜索但没有找到明确的答案。谢谢。

1 个答案:

答案 0 :(得分:5)

您可以将异常类型视为一种“开放”的区分联合,其中可以随时添加Exception类型的其他构造函数。因此,正如您所料,MyException "test"的静态类型为Exception,类型Exception的值可以与模式MyException _匹配。