我的例外有啥问题? [复制]

Posted

技术标签:

【中文标题】我的例外有啥问题? [复制]【英文标题】:What's wrong with my except? [duplicate]我的例外有什么问题? [复制] 【发布时间】:2013-02-01 06:13:52 【问题描述】:

我的 except: 出现 SyntaxError:

try:
    opts, args = getopt.getopt(sys.argv[1:], 'P:D:H:d:u:p:nvhmJi:c:Ml:TB:',
            ['host=', 'port=', 'directory=', 'user=', 'password=',
             'daemon=', 'noauth', 'help', 'verbose', 'mysql', 
             'icounter=', 'config=', 'nolock', 'nomime', 'loglevel', 'noiter',
             'baseurl='])
except getopt.GetoptError, e:
    print usage
    print '>>>> ERROR: %s' % str(e)
    sys.exit(2)

我得到错误:

File "main.py", line 199

except getopt.GetoptError, e:

SyntaxError: invalid syntax

有人知道吗?

【问题讨论】:

试试except getopt.GetoptError as e ? 查看关于同一问题的讨论:***.com/questions/2535760/… 【参考方案1】:

你使用python3并在python3中the raise syntax no longer accepts comma-separated arguments。

改用as

except getopt.GetoptError as e:

这种形式也向后兼容 2.6 和 2.7。

【讨论】:

好的,谢谢!它现在正在工作 =) 我要补充一点,如果 OP 想要与 pythonexcept getopt.GetoptError:,然后使用 sys.exc_info() 检索错误信息【参考方案2】:

您的语法对于捕获异常无效

你应该写except getopt.GetoptError as e:而不是except getopt.GetoptError, e:

【讨论】:

不过,这在早期版本的 Python 中是正确的语法。

以上是关于我的例外有啥问题? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

有啥东西可以阻止 std::optional::value_or() 有条件地不例外吗?

javascript中的.then函数有啥用? [复制]

继承模板有啥问题? [复制]

有啥方法可以从我的 IOS 应用程序中打开设置应用程序? [复制]

lambda 函数有啥用? [复制]

有啥方法可以在我的代码中注入 SQL 吗? [复制]