python 3.2中KeyError的语法错误

ahm*_*ikh 7 python syntax python-3.x

我是一个使用python 3.2的初学者,我有一本书,其代码全部都在python 2.6中.我写了一个程序的一部分,并继续得到:语法错误:语法无效然后python的IDLE突出显示我的代码中的KeyError之后的逗号:

from tank import Tank

tanks = { "a":Tank("Alice"), "b":Tank("Bob"), "c":Tank("Carol")}
alive_tanks = len(tanks)

while alive_tanks > 1:
    print
    for tank_name in sorted( tanks.keys() ):
        print (tank_name, tanks[tank_name])

    first = raw_input("Who fires? ").lower()
    second = raw_input("Who at? ").lower()

    try:
        first_tank = tanks[first]
        second_tank = tanks[second]
    except KeyError, name:
        print ("No such tank exists!", name)
        continue
Run Code Online (Sandbox Code Playgroud)

Win*_*ert 18

代替

except KeyError, name:
Run Code Online (Sandbox Code Playgroud)

尝试

except KeyError as name:
Run Code Online (Sandbox Code Playgroud)

它是Python 2.x和Python 3.x之间的区别.不再支持第一种形式.