1. 程式人生 > >python 基礎(七)

python 基礎(七)

lse 而是 代碼段 comm 錯誤信息 print 手動 var uil

異常處理

一、需求

當遇到錯誤的時候 不讓程序停止執行 而是越過錯誤繼續執行

二、主體結構 (抓取所有異常)

try:
    可能出現異常的代碼段
except: 
    出現異常以後的處理 

三、處理特定異常(只捕獲特定的異常)

try:
    # a
    1 + ‘1‘
    # int(‘asd‘)
except NameError as e:
    print(‘NameError 錯誤信息為‘,e)

四、多重捕獲

try:
    # a
    1 + ‘1‘
    # int(‘asd‘)
except NameError as e:
    print(‘NameError 錯誤信息為‘,e)
except TypeError as e:
    print(e)
except:
    print(‘如果以上沒有滿足異常捕獲的 則走到當前的except‘)

當捕獲不到特定的錯誤類型的時候 會執行最後的except

五、捕獲特定的幾個異常

try:
    # a
    # 1 + ‘1‘
    int(‘asd‘)
except (NameError,TypeError) as e:
    print(‘錯誤信息為‘,e)
except:
    print(‘如果以上沒有滿足異常捕獲的 則走到當前的except‘)

六、搭配else使用

主體結構

try:

? ...

except:

? ...

else:

? ...

當代碼段沒有出現異常的時候 執行else

七、搭配 finally使用

主體結構

try:

? ...

except:

? ...

else:

? ...

finally:

? ...

八、手動拋出異常

使用raise 去拋出指定的異常

主體結構:

raise 錯誤類型(‘錯誤信息‘)

python 基礎(七)