1. 程式人生 > 實用技巧 >第十一天 第九章 異常處理及程式除錯

第十一天 第九章 異常處理及程式除錯

# try...except語句:當程式出錯時,輸出錯誤資訊後,程式會繼續執行
'''
try:
    pass  # 可能出現錯誤的程式碼
except [exceptionName [as alias]]: # exceptionName:異常名(為空則捕獲全部異常)。as alias:為當前異常指定一個別名,可以記錄異常的具體內容。
    pass  # 出現異常處理的程式碼塊,可以提示資訊,也可以輸出異常內容
# except (ValueError, ZeroDivisionError) as e:同樣,它可以捕獲多個異常,e為具體異常內容
'''

# try...except...else語句:如果有異常,執行except下的語句,如果沒有異常,執行else下的語句
# try...except...finally語句:無論有沒有異常,finally下的語句都會執行 # 使用raise語句丟擲異常:raise [exceptionName[(reason)]] : reason可以省略,如果省略則不附帶任何描述資訊 def division(): apple = 10 children = 20 if apple < children: raise ValueError() # 錯誤型別根據實際情況選擇,當然這裡也可以隨意寫錯誤型別 # raise ValueError('蘋果太少,不夠分')
try: division() except ValueError as e: # 但是這裡要跟raise後的錯誤型別一致 print('dfdf',e) # 程式除錯 # 使用自帶IDLE除錯: # 1 在IDLE主選單上選擇 Debug -> Debugger 開啟Debug Control對話方塊,同時python shell視窗將顯示[DEBUG ON]表示處於除錯狀態 # 2 在python shell中選擇 File -> Open 開啟要除錯的檔案,然後新增斷點(斷點的作用是當程式執行到此處時會暫停中斷,可隨時恢復執行) # 新增斷點:在需要斷點的行上右鍵,選擇 Set Breakpoint ,新增斷點的行將以黃色底紋標記。
# 刪除斷點:在需要刪除的行上右鍵,選擇 Clear Breakpoint # Go:執行到下一個斷點 # Step:進入要執行的函式 # Over:單步執行 # Out:跳出所在函式 # Quit:結束除錯 # 用assert語句除錯程式:assert expression, [,reason] # expression:條件表示式,如果該表示式的值為真時,什麼都不做,如果為假則丟擲AssertionError異常。 # reason:可選引數,對判斷條件進行描述,為了以後更好的知道是哪裡出了問題。 # 定義好錯誤後,在函式外部用try...except就可以捕獲到這個異常