我目前在需要 Python 3 内置异常的项目上使用 Python 2:FileNotFoundError
。我该怎么做?
最佳答案
你当然可以定义任何你想要的异常(exception)。
但他们不会对你有任何好处。 FileNotFoundError
的全部意义在于,任何遇到 file-not-found 错误的 Python 操作都会引发该异常。仅仅定义你自己的异常并不能做到这一点。您将得到的只是一个具有适当 errno
值的 OSError
(或 IOError
,取决于 2.x 版本)。如果您尝试处理自定义 FileNotFoundError
,您的处理程序将永远不会被调用。
所以,你真正想要的是(例如):
try:
f = open(path)
except OSError as e:
if e.errno == errno.ENOENT:
# do your FileNotFoundError code here
else:
raise
关于python - 如何从 Python 3 导入 FileNotFoundError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26745283/