2014-12-26 69 views
1

Python的try...except構造允許人們捕獲多個異常並對每個異常執行相同的操作(except (Exception1, Exception2, ...):),以執行相同的事情(無論是否引發Exception)(finally:)和只有在不是else:)的情況下才會執行某些操作。有沒有辦法分別處理每個Exception,但是如果發生任何一個異常(例如sys.exit()),就會執行相同的操作?目前,我分別使用此呼籲各exceptPython:每次都做一些例外

try: 
    np.loadtxt(filename, ...) 
except ValueError as e: 
    # Handle the ValueError with a custom message here 
    sys.exit(1) 
except FileNotFoundError as e: 
    # Handle missing file here 
    sys.exit(1) 
except SomeOtherErrorThatMightConceivablyBeRaised: 
    # Handle it 
    sys.exit(1) 
+1

包裝在一個函數,和'return'了'else'內條款。在此之後放上你需要的任何處理。 – roippi

回答

0

你可以在括號例外組織這樣:

try: 
    np.loadtxt(filename, ...) 
except (ValueError, 
     FileNotFoundError, 
     SomeOtherErrorThatMightConceivablyBeRaised) as e: 
    # Handle the ValueError with a custom message here 
    sys.exit(1) 
+0

問題是我想用每個異常_before_'sys.exit(1)'做一些不同的事情。 – xnx

+0

您可以按照Skylor的建議將多個異常按括號分組,並使用if語句確定「catch」塊中的異常類型。看看這裏:http://stackoverflow.com/questions/4329453/handle-specific-exception-type-in​​-python – chilliq

相關問題