python - 在python中使用默认消息引发内置异常

标签 python exception

我正在尝试实现一个在某个目录不存在时返回错误的方法。

而不是做 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/

相关文章:

python - 如何在 Python 中使用 BeautifulSoup 创建链接?

c# - 在处理 SqlConnection、SqlDataReader、SqlCommand 时要捕获哪些异常?

visual-studio-2008 - 在调试单元测试时,Visual Studio为什么不打破异常?

c++ - 在代码中捕获异常

objective-c - 使用异常处理程序捕获iOS中低内存崩溃的统计信息

java - java中播放mp3时出现这个异常如何解决?

python - TensorFlow 中的 Cholesky 因子分化

Python脚本从终端执行,但在使用子进程时不执行?

Python 删除列

python - Jupyter 笔记本输入字段出现在错误的位置