除了OSError as(errcode,message):SyntaxError:无效语法



大家好,这是python的评审库,我从内置库中得到了一个错误,这只是语法错误

except OSError as (errcode , message):

这是一条排除错误的线,但由于我没有太多的经验

尝试捕获异常,那么我该怎么做

我的python是3.6,但这个库似乎是用2.7构建的,如何解决它

当我运行它时,它会给我这个语法错误

except OSError as (errcode , message):  SyntaxError: invalid syntax

您可以尝试以下操作吗;

try:
# code that raises OSError
...
...
except OSError as e:
print('Error! Code: {c}, Message, {m}'.format(c = type(e).__name__, m = str(e)))

这是Python 2/Python 3的不兼容。

以下内容在语法上是正确的,在Python 2.7中可以正常工作,但在Python 3中则不然。

try:
raise OSError(42, "don't panic")
except OSError as (errcode, message):
print("errcode:", errcode, "message:", message)

例如,在https://portingguide.readthedocs.io/en/latest/exceptions.html#iterating-例外情况。

因此,要获得在Python2和Python3中都能工作的东西,您必须自己打开参数的包装。

try:
raise OSError(42, "don't panic")
except OSError as e:
errcode, message = e.args
print("errcode:", errcode, "message:", message)

最新更新