2
有關catch的文檔看起來很少,例子很少。我正在嘗試處理由於文件不存在而導致文件檢查失敗的情況。如果你沒有在類型爲限定的lambda體內引用lambda的參數,代碼將不會編譯(即刪除let不做任何事情)。爲什麼不?如何使用catch
-- checks if file is readable
checkFileAccess :: FilePath -> IO Bool
checkFileAccess f = do
catch (fileAccess f True False False)
(\e -> do
let _ = e :: IOException
return False)
與您的問題沒有直接關係,但請參閱['catchIOError'](http://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO-Error.html#v:catchIOError )。 – melpomene