我注意到Control.Exception中也有IOException类型,拥有单独的System.IO.Error模块和IOError类型有什么意义?是否只是因为历史原因?我应该避免使用它,而是选择Control.Exception.IOException吗?
最佳答案
是的,这只是出于历史原因。System.IO.Error
具有IOError
类型,它只是IOException
的类型同义词(无论如何在GHC中)。
GHC的特殊异常层次结构机制不是Haskell标准的一部分。因此,IOError
用于与Haskell 2010兼容。
如果您对特定于GHC感到满意,那么IOException
和整个Exception层次结构会更好,应该优先使用。
关于exception - System.IO.Error的意义是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23727796/