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

2022-09-13 02:54:12 字數 1408 閱讀 6995

#

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可以省略,如果省略則不附帶任何描述資訊

defdivision():

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 ##

step:進入要執行的函式

#over:單步執行

#out:跳出所在函式

#quit:結束除錯

#用assert語句除錯程式:assert expression, [,reason]

#expression:條件表示式,如果該表示式的值為真時,什麼都不做,如果為假則丟擲assertionerror異常。

#reason:可選引數,對判斷條件進行描述,為了以後更好的知道是**出了問題。

#定義好錯誤後,在函式外部用try...except就可以捕獲到這個異常

第九章 引數 第十章 屬性 第十一章 事件

ref和out達到效果,傳遞的是引數的位址而不是引數本身.從clr的角度看,ref和out完全一致.會生成相同的il 元資料幾乎完全一致,只有乙個bit除外,以區分這兩種情況.為值型別使用out和ref,等同於為引用型別使用傳值的方式 普通的方式 以引用的方式傳遞引數,需要引數型別和方法簽名的型別完...

C 自學記錄 第九章 模板和異常

template 模板參數列 函式值型別 函式名 參數列 其中,參數列為 比如這個求最小值的函式 templatet mindt t x,t y 注意呼叫的時候一定要寫好了註冊的是什麼型別,不然怎麼知道咋生成?類名x 外部定義成員函式的時候也要加上第一行tem 作用 解決同名衝突 命名空間可以在乙個...

第一章 檔案管理(第十一天)

比較檔案的差異。diff abbcdefhilnnppqrsttuvwy 行數 c 行數 d 巨集名稱 i 字元 或字串 s 檔案 w 寬度 x 檔案或目錄 x 檔案 help left column suppress common line 檔案或目錄 1 檔案或目錄 2 diff 以逐行的方式,...