我注意到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/

10-13 09:11