2016-08-23 167 views
0

我遇到了一个函数,根据它的文档,可以抛出IOError。我想处理这个。要处理IOError,我应该使用哪种方法?

看起来好像有多种方式。 Control.Exception就是其中之一。另一个是System.IO.Error

  • 是否还有别的办法吗?
  • 您推荐使用哪种方式,为什么?或者每个人的利弊有哪些?
+0

这里有一些建议:http://dev.stephendiehl.com/hask/#error-handling –

+0

我相信'System.IO.Error'实际上是从'Control.Exception'使用'catch' [under (https://hackage.haskell.org/package/base-4.9.0.0/docs/src/System.IO.Error.html#catchIOError) – Alec

+0

@Alec。是的,['catchIOError = catch'](https://hackage.haskell.org/package/base-4.9.0.0/docs/src/System.IO.Error.html#catchIOError) – Cirdec

回答

1
type IOError = IOException 

这样既完成在Control.Exception.Base,即catch。 System.IO.Error只是一个专门化软件包,可以帮助您处理那些IO异常。