问题描述
我试图实现一个方法,只要某个目录不存在就返回一个错误。
而不是使用引发OSError(目录不存在)
,但是,我想使用来自OSError的内置错误消息: OSError:[Errno 2]没有这样的文件或目录:
。这是因为我在方法调用开始时引发异常,而不是稍后(从python调用相同的消息,没有必要的 raise
)。 p>
任何指针? (除了手动执行 OSError([Errno 2]没有这样的文件或目录:)
)
import os
try:
open('foo')
除了IOError作为err:
print(err)
print(err.args)
print(err.filename)
生成
[Errno 2]没有这样的文件或目录:'foo'
(2 ,没有这样的文件或目录)
foo
所以,要生成一个OSError一个类似的消息使用
提高OSError(2,'没有这样的文件或目录','foo')
I'm trying to implement a method that returns an error whenever a certain directory does not exist.
Rather than doing raise OSError("Directory does not exist.")
, however, I want to use the builtint error message from OSError: OSError: [Errno 2] No such file or directory:
. This is because I am raising the exception in the beginning of the method call, rather than later (which would invoke the same message from python, without any necessary raise
).
Any pointers? (other than manually doing 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)
produces
[Errno 2] No such file or directory: 'foo'
(2, 'No such file or directory')
foo
So, to generate an OSError with a similar message use
raise OSError(2, 'No such file or directory', 'foo')
这篇关于在python中使用默认消息提高内置异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!