Python 内置了通用 OSError
的异常,它有 WindowsError
它继承自OSError
。文档解释说 WindowsError
是
Raised when a Windows-specific error occurs or when the error number does not correspond to an errno value.
尚不清楚为什么存在特定于 Windows 的错误,但没有任何特定于其他操作系统的错误。或者至少,为什么不考虑其他操作系统特定的错误。这可能与“当错误号与 errno 值不对应时”有关,但这同样令人困惑。我认为 errno 只是引发异常返回的异常的一个属性。为什么会出现与 errno
值不对应的错误号?
最佳答案
Python(以及 C,就此而言)是以 POSIX 为中心的。这本身并不是一件坏事,只是需要注意一下。
所以从Python的角度来看,POSIX错误只是一个正常的错误。这没东西看。但是 Windows 错误不会以 1:1 的方式映射到 POSIX 错误,因此如果发生无法用 POSIX 术语表示的错误,则需要额外的机制。
如果 Python 在(掷骰子)VMS 上运行,也可能存在 VMSError
异常类。 :-)
关于python - 为什么有专门的 WindowsError 但没有其他内置操作系统特定的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34632602/