python - 为什么有专门的 WindowsError 但没有其他内置操作系统特定的异常?

标签 python windows operating-system

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/

相关文章:

python - AWS Lambda 不导入 Asyncio

python - 从函数名获取内置函数

python - IOError : [Errno 13] Permission denied, 打开文件时

windows - Windows 真的在虚拟机中运行吗?

python - python中如何获取特定文件的路径

c# - 多进程的奇怪行为

python - 连续排列线段组成多边形

python - 在 Sympy 中设置变量相对于其他变量的假设

c# - 文件移动——操作系统如何知道是更新主文件表还是复制和删除?

windows - 在 Windows 上忽略 Git 中的目录时,目录名称大小写是否重要?