如何在try except块中检查某种类型的OSError?

时间:2016-03-10 18:43:13

标签: python python-3.x error-handling

我有一些代码可能会根据用户的输入引发OSError。更具体地说,它可以提升OSError: [WinError123]。我面临的问题是我的尝试除了OSError的块检查,这是一个过于宽泛的异常。

我已经查看了这个questionquestion但是,我不清楚errno是如何工作的。我还查看了errno documentation,但我不清楚它与OSError中的具体错误有何关联。

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

另外,如果您能向我解释您使用的库/您的工作方式/解决方案的思维过程将非常棒!

1 个答案:

答案 0 :(得分:2)

你能不能这样做:

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