try / except构造错误

时间:2016-11-02 13:53:29

标签: python

我只是坐了10分钟,盯着一段简单的代码,我已经从指南中复制过了,我无法理解为什么会收到错误。

def transformation(x):
    date_format = "%d/%m/%Y"
    try:
        a = dt.date(int(x[6:10]), int(x[3:5]), int(x[0:2]))
    else:
        a = dt.datetime.strptime(x, date_format)
    finally: 
        return a
  File "<ipython-input-91-f1f6fe70d542>", line 5
    else:
       ^
SyntaxError: invalid syntax

也许这只是我......怎么了? 添加except 后:

def transformation(x):
    date_format = "%d/%m/%Y"
    try:
        a = dt.date(int(x[6:10]), int(x[3:5]), int(x[0:2]))
    except pass 
    else:
        a = dt.datetime.strptime(x, date_format)
    finally: 
        return a
File "<ipython-input-93-c2285c857574>", line 5
    except pass 
              ^
SyntaxError: invalid syntax

2 个答案:

答案 0 :(得分:3)

您需要except子句才能使用else

  

try ... except语句有一个可选的else子句,当时   现在,必须关注所有except条款   [强调我的]

答案 1 :(得分:0)

我刚从python文档页面看到它,所以我只想引用它对你说的内容:

  

try ... except语句有一个可选的else子句,当存在时,必须遵循所有except子句。如果try子句不引发异常,则必须执行的代码很有用。例如:

window.onpopstate