2011-07-07 52 views
1

我正在學習F#,我發現了一個有趣的問題。 我們可以使用F#類型的異常F#異常類型的性質是什麼

exception MyExpetion of string 

然而,當我們相匹配的話,我們可以使用相同的語法匹配識別聯合。同時,它是一個System.Exception。這是如何完成的?什麼是F#異常的類型?我試圖搜索,但沒有找到明確的答案。謝謝。

回答

5

您可以將異常類型視爲一種「開放」區分聯合,其中可以隨時添加用於Exception類型的其他構造函數。因此,如您所期望的那樣,MyException "test"的靜態類型爲Exception,並且類型Exception的值可以與MyException _的模式相匹配。

相關問題