0
我在源代碼中找到了定義。如何使用catchIOError作爲catch?
catchIOError :: IO a -> (IOError -> IO a) -> IO a
catchIOError = catch
如果我想使用catch
,而不是catchIOError
具有相同的結果,我該怎麼辦?
catchIOError (readFile "test") (\_ -> return "")
,並用它喜歡:
catch (readFile "test") (\_ -> return "")
這將是亂扔的變量類型
Ambiguous type variable ‘e0’ arising from a use of ‘catch’
prevents the constraint ‘(Exception e0)’ from being solved.
Probable fix: use a type annotation to specify what ‘e0’ should be.
換句話說異常,有沒有辦法來限制類型沒有定義一個新的功能。
謝謝!我找到了!而且這個類型也可以在lambda exp中加註釋... – Vonfry