python - 如何在 try except block 中检查某种类型的 OSError?

标签 python python-3.x error-handling

我有一些代码可能会根据用户的输入引发 OSError。更具体地说,它可能引发 OSError: [WinError123]。我面临的问题是我的 try except block 检查 OSError,这对于异常而言过于宽泛。

我看过这个question还有这个question但是,我不清楚 errno 是如何工作的。我还查看了 errno documentation但我不清楚它与 OSError 中的特定错误有何关系。

如何捕获特定的 OSError,即 WinError 123

此外,如果你能向我解释你使用了哪些库/你是如何做到的/你的解决方案的思考过程会很棒!

最佳答案

你能不能不做这样的事情:

try:
    my_function()
except OSError as e:
    if e.args[0] != 123:
        raise
    print("Deal with the 123 error here")

关于python - 如何在 try except block 中检查某种类型的 OSError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35924692/

相关文章:

python-3.x - 无法将文件从 AWS Glue dynamic_frame 解析为 Pyspark 数据框

python - 如何在 PyQt5 中制作终端控制台(终端模拟器)?

python - 作为初始值的外键未传递给 django 中的 ModelForm

python - 返回 Theano 向量中值的索引

python - 如何在 PySide 中正确使用 multiprocessing.Pool 来创建非阻塞 GUI

python-3.x - 如何从长字符串中仅获取日期字符串

javascript - Node.js - 处理正文解析器无效的 JSON 错误

wpf - Task.Run中的全局错误处理可实时通知用户

php - PHP配置文件生成器错误

python - 如何在 Python 中编写 "tab"?