我的例外有啥问题? [复制]
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() 有条件地不例外吗?