Python程序設計基礎 課件 項目8 錯誤和異常_第1頁
Python程序設計基礎 課件 項目8 錯誤和異常_第2頁
Python程序設計基礎 課件 項目8 錯誤和異常_第3頁
Python程序設計基礎 課件 項目8 錯誤和異常_第4頁
Python程序設計基礎 課件 項目8 錯誤和異常_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

程序設計基礎——錯誤和異常簡單易學易讀易維護開源

可移植性

可擴展性

豐富的庫

Python目錄CONTENTS項目描述01語法錯誤的識別與處理02捕捉異常03異常處理04思政導入2004年8月17日在美國加州圣巴巴拉召開的國際密碼學會議(Crypto’2004)安排了三場關于雜湊函數(shù)的特別報告。在國際著名密碼學家EliBiham和AntoineJoux相繼做了對SHA-1的分析與給出SHA-0的一個碰撞之后,來自山東大學的王小云教授做了破譯MD5、HAVAL-128、MD4和RIPEMD算法的報告。在會場上,當她公布了MD系列算法的破解結果之后,報告被激動的掌聲打斷。王小云教授的報告轟動了全場,得到了與會專家的贊嘆。報告結束時,與會者長時間熱烈鼓掌,部分學者起立鼓掌致敬,這在密碼學會議上是少見的盛況。項目描述01一、項目描述在程序運行過程中,總會遇到各種各樣的錯誤。有的錯誤是程序編寫有問題造成的,比如本來應該輸出整數(shù)結果輸出了字符串,這種錯誤我們通常稱之為bug,bug是必須修復的。有的錯誤是用戶輸入造成的,比如讓用戶輸入email地址,結果得到一個空字符串,這種錯誤可以通過檢查用戶輸入來做相應的處理。還有一類錯誤是完全無法在程序運行過程中預測的,比如寫入文件的時候,磁盤滿了,寫不進去了,或者從網(wǎng)絡抓取數(shù)據(jù),網(wǎng)絡突然斷掉了。這類錯誤也稱為異常,在程序中通常是必須處理的,否則,程序會因為各種問題終止并退出。Python內(nèi)置了一套異常處理機制,來幫助我們進行錯誤處理。語法錯誤的識別與處理02二、語法錯誤的識別與處理語法錯誤也稱為解析錯誤,Python是一門先編譯后解釋的語言。在編譯時,如果程序中存在語法錯誤,Python編譯器就會顯示文件名、行號等信息,并使用^標記在該行程序中檢測出錯的位置。i=1whileTrueidiom=input("請輸入第"+str(i)+"個成語:")二、語法錯誤的識別與處理對于這類語法錯誤的發(fā)現(xiàn)還是比較容易的,因為Python編譯器直接告訴了我們錯誤的位置,我們只需要在該位置改正這個語法錯誤就可以了。但是有時編譯器告訴我們的語法錯誤不是那么容易發(fā)現(xiàn)的,根據(jù)提示的行號與標記也是找不到語法錯誤的地方。importos#user.txt為存在于當前目錄的一個文件print(os.path.exists(('user.txt'))#判斷目標是否存在print(os.path.isdir('user.txt'))#判斷目標是否目錄print(os.path.isfile('user.txt'))#判斷目標是否文件捕捉異常033、怎么才能學好Python安全編程?1.

ZeroDivisionError異常2、為什么要學習Python?三、捕捉異常10*(1/0)3、怎么才能學好Python安全編程?2.

NameError異常2、為什么要學習Python?三、捕捉異常4+idiom*33、怎么才能學好Python安全編程?3.

TypeError異常2、為什么要學習Python?三、捕捉異常'1'+13、怎么才能學好Python安全編程?4.

IndexError異常2、為什么要學習Python?三、捕捉異常a=['xiaozhang','xiaowang','xiaoli']a[3]3、怎么才能學好Python安全編程?5.KeyError異常2、為什么要學習Python?三、捕捉異常dict={"雞":0,"鴨":0,"羊":0,"豬":0}dict['馬']3、怎么才能學好Python安全編程?6.FileNotFoundError異常2、為什么要學習Python?三、捕捉異常file=open('test.txt')3、怎么才能學好Python安全編程?7.AttributeError異常2、為什么要學習Python?三、捕捉異常classman(object):passman=man()man.color='黃種人'print(man.color)print(man.weight)3、怎么才能學好Python安全編程?8.SyntaxError異常2、為什么要學習Python?三、捕捉異常list1=[1,2,3,4,5]foriinlist1print(i)異常處理043、怎么才能學好Python安全編程?1.捕獲簡單異常2、為什么要學習Python?四、異常處理如果不想使用默認的異常處理程序,就需要使用try……except語句處理異常。通常try語句用于檢測異常,except語句用于捕獲異常。try……except語句格式如下:try:#語句塊,被監(jiān)控的語句except:

#異常處理語句try:a=['xiaozhang','xiaowang','xiaoli']print(a[3])except:print('列表元素索引號越界')運行結果如下:列表元素索引號越界try語句是按照以下的方式工作的:(1)首先執(zhí)行try子句。(2)如果沒有發(fā)生異常,則忽略except子句,try子句執(zhí)行結束。(3)如果在執(zhí)行try子句過程中發(fā)生了異常,那么try子句余下部分將被忽略。轉而執(zhí)行except子句中的語句。3、怎么才能學好Python安全編程?2.捕獲多個異常和捕獲異常的描述信息2、為什么要學習Python?四、異常處理有時針對不同的異常需要采用不同的異常處理,當try子句出現(xiàn)錯誤時,就會根據(jù)異常的類型選擇執(zhí)行對應的except語句。語句格式如下:try:#語句塊,被監(jiān)控的語句except異常類型1:#異常處理語句except異常類型2:#異常處理語句except異常類型3:#異常處理語句try:print('-'*20)first_num=int(input('請輸入第1個數(shù):'))second_num=int(input('請輸入第2個數(shù):'))print(first_num/second_num)print('-'*20)exceptZeroDivisionError:print("除數(shù)不能為0!")3、怎么才能學好Python安全編程?3.沒有捕獲到異常2、為什么要學習Python?四、異常處理我們在使用try……except語句捕獲異常時,如果沒有異常發(fā)生,那么所有的except就不會執(zhí)行,但有時我們在執(zhí)行完try語句后又想讓程序執(zhí)行一些指令,針對這種情況我們可以使用try……except……else語句需要注意的是,else子句必須放在所有的except子句之后,這個子句將在都不滿足之前的異常類型的情況下執(zhí)行,也就是將在沒有捕捉到異常的情況下執(zhí)行。a=['xiaozhang','xiaowang','xiaoli']print(a)whileTrue:n=int(input('請輸入想顯示的元素序號:'))try:print(a[n])exceptIndexErrorase:print(f'列表元素索引號越界{e}')exceptTypeError:print('輸入的序號不是數(shù)字')else:break3、怎么才能學好Python安全編程?4.終止行為2、為什么要學習P

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論