什么是異常?
異常即是一個事件,該事件會在程序執(zhí)行過程中發(fā)生,影響了程序的正常執(zhí)行.
一般情況下,在Python無法正常處理程序的時候,會發(fā)生一個異常
異常是python的一個對象,表示一個錯誤
當Python腳本發(fā)生異常時我們需要捕獲它,否則程序會終止執(zhí)行
異常處理
捕捉異常可以使用try/except語句
try/except語句用來檢測try語句中的錯誤,從而讓except語句捕獲異常信息并處理
如果你不想在異常發(fā)生的時候結(jié)束你的程序,只需在try里捕獲它
語法:
一下為簡單的try...except...else的語法:
try:
//代碼
except <名字>:
// 代碼 #如果在try部分引發(fā)了'name'異常
except <名字>,<數(shù)據(jù)>:
//代碼 #如果引發(fā)了'name'異常,獲得的附加數(shù)據(jù)
else:
//語句 #如果沒有異常發(fā)生
try的工作原理是,當開始一個try語句后,python就會在當前程序的上下文中做標記,當異常出現(xiàn)的時候就可以回到這里,try子句先執(zhí)行,接下來就會發(fā)生什么依賴于執(zhí)行的時候是否會發(fā)生異常
如果當try后的語句執(zhí)行發(fā)生異常,python就會跳回到try并執(zhí)行第一個匹配該異常的except的子句,異常處理完畢,控制流就通過整個try語句 (除非在處理異常的時候又發(fā)生新的異常).
如果在try后的語句里發(fā)生異常,卻沒有匹配的except子句,異常將被遞交到上層的try,或者到程序的最上層(這樣將結(jié)束程序,并打印缺省的出錯信息)
如果在try子句執(zhí)行的時候沒有發(fā)生異常,python將執(zhí)行else語句后的語句(如果有else的話),然后控制流通過整個try語句