我正在使用包Data.ConfigFile从配置文件中读取。程序包具有名为readfile
的函数,该函数使用前言中的readFile
。但是它将创建一个configparser
对象。该库的文档是
http://hackage.haskell.org/package/ConfigFile-1.1.4/docs/Data-ConfigFile.html#g:2
我想捕捉可能还会返回的任何异常,例如与并发相关的异常。我该怎么做?
我对Haskell来说还很陌生。我做了一些研究。看来bracket
对我来说是个不错的选择。我想做
readConfig :: MonadIO m => String -> m ConfigInfo
readConfig filepath = do
bracket (readfile emptyCP filepath ) hClose
(\h -> read stuff from file using handle )
但是这段代码给了我错误,因为hClose
Expected type: m0 ConfigParser -> IO ()
Actual type: Handle -> IO ()
我基本上只是想了解它的含义,并且对此有一个快速的解决方案,而不必从头开始编写整个内容。