我注意到Control.Exception中也有一个IOException类型,有一个单独的System.IO.Error模块和IOError类型是什么意思?是因为历史原因吗?我应该避免使用它而更喜欢Control.Exception.IOException吗?
Phi*_* JF 12
是的,这只是出于历史原因.
System.IO.Error有一种IOError类型,只是一种类型的同义词IOException(无论如何GHC).
GHC奇特的异常层次结构机制不是Haskell标准的一部分.因此,IOError用于与Haskell 2010兼容.
如果您对GHC特定感到满意,IOException并且整个异常层次结构只是更好,应该是首选.