0

我正在尝试使用 Python。

try:
    newbutton['roundcornerradius'] = buttondata['roundcornerradius']

buttons.append(newbutton)

按钮是一个列表。在 buttondata 中,roundcornerradius 是可选的。

唉,这给了

buttons.append(newbutton)
      ^ SyntaxError: invalid syntax

我只想忽略不存在圆角半径的情况。我不需要报告任何错误。

4

3 回答 3

3

你为什么不使用except关键字

try:
    newbutton['roundcornerradius'] = buttondata['roundcornerradius']
    buttons.append(newbutton)
except:
    pass

这将尝试第一部分,如果抛出错误,它将执行除外部分

你也可以添加你想要的disered错误,除了这样的某个错误

except AttributeError:

您还可以通过执行以下操作获得异常错误:

except Exception,e: print str(e)

于 2013-09-04T02:42:37.020 回答
1

您应该尝试异常:

try:
   code may through exception
except (DesiredException):
  in case of exception

else如果仅在尝试成功时才需要填充新按钮,也可以与 try 一起使用:

try:
    newbutton['roundcornerradius'] = buttondata['roundcornerradius']
except KeyError:
    pass
else:
   buttons.append(newbutton)

没有定义异常类的singleexcept:将捕获在某些情况下可能不需要的每个引发的异常。

很可能你会得到KeyError你的代码,但我不确定。

有关内置异常,请参见此处:

http://docs.python.org/2/library/exceptions.html

于 2013-09-04T02:43:12.440 回答
0

如果使用except,则必须关闭块。finallytry

try:
    newbutton['roundcornerradius'] = buttondata['roundcornerradius']
except KeyError:
    pass#omit raise if key 'roundcornerradius' does not exists
buttons.append(newbutton)

如果你知道默认值'roundcornerradius'- 你不需要 notry ... except

newbutton['roundcornerradius'] = buttondata.get('roundcornerradius', DEFAULT_RADIUS)
buttons.append(newbutton)
于 2013-09-04T02:49:17.703 回答