2013-01-11 20 views
1

我正在處理這些try/except/else語句,但我遇到了問題。使用try,除Python和Python外

我想放一個這樣的代碼:

try: 
    ... 
except: 
    ... 
else: 
    ... 
else: 
    ... 

但我知道這是不可能把2「其他」連續。
我試過了一個「elif」,但我讀到它不能在「except」之內工作。它不起作用。
那麼我怎麼能做2個或2個以上的「其他」陳述?

謝謝! Julien

+0

你到底想達到什麼目的?目前 - 我不確定這是一個問題... –

+0

你是否試圖捕捉兩種不同的異常?例如如果'try'子句中的塊可能會拋出'ValueError'或'TypeError',並且您想要根據哪一個具有不同的行爲... – nrussell

回答

1

爲什麼不簡單地把所有東西都放在其他分支中?

6

你永遠不會需要兩個其他的塊。如果您需要else內進一步區分,這樣做:

try: 
    ... 
except: 
    ... 
else: 
    if condition: 
     ... 
    else: 
     ... 
+0

+1,這可能是明顯的方法:) – root

1
try: 
    ... 
except: 
    ... 
else: 
    if: 
    ... 
    elif: 
    ... 
    else: 
    ... 

如果你的動作是依賴於異常你上:

try: 
    ... 
except FirsException: 
    #handle_first_one() 

except SecondException: 
    #handle_second_one() 
+0

我的想法... +1 –