python 第二十七篇 異常捕獲
阿新 • • 發佈:2019-02-04
#try....except....:用於捕獲程式碼異常,當一段程式出現異常的時候,會導致程式崩潰,整個程式會結束執行。後續的一些程式碼邏輯也不會再執行。但是當異常被捕獲並進行處理,可以保證整個程式的正常執行。後續的程式碼也不會受到異常的影響。 try: #寫要捕獲異常的程式碼 pass except Exception as e: #Exception:異常類,基本上能捕獲常見的異常情況,表示異常原因。 #e,用於接收錯誤原因的。 pass #出現異常時,需要設定的程式碼邏輯。 #當try裡面的程式碼執行成功的時候,則不會執行except Exception as e裡面的程式碼 else: pass #如果try裡面的程式碼執行成功,則緊接著會執行else中的程式碼 #如果try出現異常沒有執行成功,則不會執行else裡面的程式碼。 finally: pass #不管try執行成功還是失敗,最終都會執行finally語句裡面的程式碼。 #example: list1=[] # print(list1[0]) # try: # print(list1[0]) # except Exception as e: # print('try裡面的程式碼出現異常沒有執行成功,所以需要執行我!') # print('錯誤的原因error:',e) # else: # print('try裡面的程式碼執行成功,則會接著執行我!try裡面的程式碼沒有執行成功,則不會執行我!') # finally: # print('不管try執行成功還是失敗,都最終會執行我!') # try: # print(list1[0]) # except IndexError as e: # print('try裡面的程式碼出現異常沒有執行成功,所以需要執行我!') # print('錯誤的原因error:',e) # else: # print('try裡面的程式碼執行成功,則會接著執行我!try裡面的程式碼沒有執行成功,則不會執行我!') # finally: # print('不管try執行成功還是失敗,都最終會執行我!') # try: # import a # except ImportError as e: # print('錯誤原因是error:',e) #在函式內部自定義一個異常:當呼叫該函式的時候,如果不符合函式內部定義的條件,則丟擲這個異常!如果符合函式條件,就不丟擲異常! #raise:丟擲異常原因的關鍵字。 def is_outrange(age): if age<16: raise Exception('小於16週歲,不能談戀愛!') else: return True # res=is_outrange(15) try: res=is_outrange(15) except Exception as e: print('錯誤原因error:',e) #面試題中常問的問題:你遇到過的錯誤類有哪些? #ImportError:匯入錯誤 #IndexError:索引錯誤 #NameError:嘗試訪問一個沒有宣告的變數 #SyntaxError:語法錯誤 #AttributeError:嘗試訪問未知的物件屬性 #KeyError:請求一個不存在的字典關鍵字 #ValueError:傳給函式的引數型別不正確。 #.........