我正在尝试实现一个在某个目录不存在时返回错误的方法。
而不是做 raise OSError("Directory does not exist.")
,但是,我想使用来自 OSError 的内置错误消息:OSError: [Errno 2] No such file或目录:
。这是因为我在方法调用开始时引发异常,而不是稍后(这会从 python 调用相同的消息,而无需任何必要的 raise
)。
有什么建议吗? (除了手动做 OSError("[Errno 2] No such file or directory: ")
)
最佳答案
import os
try:
open('foo')
except IOError as err:
print(err)
print(err.args)
print(err.filename)
生产
[Errno 2] No such file or directory: 'foo'
(2, 'No such file or directory')
foo
因此,要生成带有类似消息的 OSError
,请使用
raise OSError(2, 'No such file or directory', 'foo')
关于python - 在python中使用默认消息引发内置异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8978057/