格式:
- 完整的格式順序是:try —> except X —> except —> else—> finally
- 如果 else 和 finally 都存在的話,else 必須在 finally 之前,finally 必須在整個程序的最后。
- else 的存在是以 except 或 except X 的存在為前提,如果沒有 except,而在 try 中使用 else 的話,會出現語法錯誤。
1 try: 2 Nomal execution block 3 except A: 4 Exception A handle 5 except B: 6 Exception B handle 7 except: 8 Other Exception handle 9 else: 10 if no exception, get here 11 finally: 12 print('finally')
說明:
- try:正常執行的程序,如果執行過程中出現異常,則中斷當前的程序執行,跳轉到對應的異常處理模塊中;
- except:(可選)如果異常與A/B相匹配,則跳轉到對應的except A/B中執行;如果A、B中沒有相對應的異常,則跳轉到except中執行。(這個except塊是可選的,如果沒有提供,則執行python默認的異常處理程序,即:中斷執行,打印提示信息)
- else:(可選)如果try中的程序執行過程中沒有發生錯誤,則會繼續執行else中的程序;
- finally:無論是否發生異常,只要提供了finally程序,就在執行所有步驟之后執行finally中的程序。
總的來說:
正常執行的程序在try下面執行,在執行中如果發生了異常,則中斷當前執行然后執行except中的部分,如果沒有異常即不執行except的情況下,則會執行else中的語句,finally語句是最后無論是否有異常都要執行的代碼。