Python内置了通用OSError
的异常,并且WindowsError
继承自OSError
。文档解释WindowsError
是
在发生特定于Windows的错误或错误号与错误值不对应时引发。
目前尚不清楚为什么存在Windows特定错误,但没有特定于其他操作系统的错误。或者至少,为什么不考虑其他操作系统特定的错误。可能这与“当错误编号不对应于错误值时有关,但这同样令人困惑。我认为errno
只是引发异常的异常属性。为什么会出现与errno
值不对应的错误编号?
答案 0 :(得分:2)
Python(和C,就此而言)是以POSIX为中心的。这本身并不是件坏事,只是需要注意的事情。
所以从Python的角度来看,POSIX错误只是一个正常的错误。这没东西看。但是,Windows错误不会以1:1的比例映射到POSIX错误,因此如果发生无法用POSIX术语表示的错误,则需要其他机制。
如果Python运行(掷骰子)VMS,则可能还有一个VMSError
异常类。 : - )