内置python函数是否记录了所有异常?

时间:2013-02-28 05:06:24

标签: python exception

python文档here,提及在调用file.write()期间无法引发的异常。

这是否意味着该功能不会引发任何异常?例如,在没有磁盘空间的情况下,file.write()的行为是什么?

1 个答案:

答案 0 :(得分:4)

top of the section on file objects

上有记录
  

当文件操作因I / O相关原因而失败时,会引发异常IOError。这包括由于某种原因未定义操作的情况,例如tty设备上的seek()或写入为阅读而打开的文件。

它没有提到每个方法的异常的原因是,由于IO相关原因导致的每个IOError方法错误都是相同的异常(file)。

您可以根据错误编号找出IOError的类型,可以按如下方式提取:

try:
    f = open("nosuchfile.txt")
except IOError as e:
    print e.errno

这些错误号来自操作系统,而不是来自Python。在上述情况下,它会打印2,因为No such file or directory是错误2. No space left on device通常是错误28,但它可能与操作系统有关。