您好,登錄后才能下訂單哦!
這篇文章主要介紹了Python中會(huì)發(fā)生幾種類(lèi)型的錯(cuò)誤,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
前言
錯(cuò)誤是程序中的問(wèn)題,由于這些問(wèn)題而導(dǎo)致程序停止執(zhí)行。另一方面,當(dāng)某些內(nèi)部事件發(fā)生時(shí),會(huì)引發(fā)異常,從而改變程序的正常流程。
python中會(huì)發(fā)生兩種類(lèi)型的錯(cuò)誤。
語(yǔ)法錯(cuò)誤
邏輯錯(cuò)誤(異常)
如果未遵循正確的語(yǔ)言語(yǔ)法,則會(huì)引發(fā)語(yǔ)法錯(cuò)誤。
例
# 初始化amount變量 amount = 10000 # 檢查你是否有資格 # 是否購(gòu)買(mǎi)某某自學(xué)課程 if(amount>2999) print("您有資格購(gòu)買(mǎi)某課程")
輸出:
PS C:\Users\Administrator\Desktop> & D:/Python37-32/python.exe "g:/黑蘋(píng)果備份請(qǐng)勿刪除/代碼/exercise24 (1)/python加密.py" File "g:/黑蘋(píng)果備份請(qǐng)勿刪除/代碼/exercise24 (1)/python加密.py", line 6 if(amount>2999) ^ SyntaxError: invalid syntax
它返回語(yǔ)法錯(cuò)誤消息,因?yàn)樵趇f語(yǔ)句后:缺少冒號(hào)。我們可以通過(guò)編寫(xiě)正確的語(yǔ)法來(lái)解決此問(wèn)題。
在運(yùn)行時(shí)中,通過(guò)語(yǔ)法測(cè)試后發(fā)生錯(cuò)誤的情況稱為異?;蜻壿嬵?lèi)型。例如,當(dāng)我們將任何數(shù)字除以零時(shí),ZeroDivisionError就會(huì)引發(fā)異常,或者當(dāng)我們導(dǎo)入一個(gè)不存在的模塊時(shí),就會(huì)引發(fā)異常ImportError。
范例1:
# 初始化amount變量 marks = 10000 # 用0除 a = marks / 0 print(a)
輸出:
PS C:\Users\Administrator\Desktop> & D:/Python37-32/python.exe "g:/黑蘋(píng)果備份請(qǐng)勿刪除/代碼/exercise24 (1)/python加密.py" Traceback (most recent call last): File "g:/黑蘋(píng)果備份請(qǐng)勿刪除/代碼/exercise24 (1)/python加密.py", line 5, in <module> a = marks / 0 ZeroDivisionError: division by zero
在上面的示例中,我們嘗試將數(shù)字除以0時(shí)出現(xiàn)ZeroDivisionError。
示例2:縮進(jìn)不正確時(shí)。
if(a<3): print("gfg")
輸出:
PS C:\Users\Administrator\Desktop> & D:/Python37-32/python.exe "g:/黑蘋(píng)果備份請(qǐng)勿刪除/代碼/exercise24 (1)/python加密.py" File "g:/黑蘋(píng)果備份請(qǐng)勿刪除/代碼/exercise24 (1)/python加密.py", line 1 if(a<3): ^ SyntaxError: invalid character in identifier
除上述異常外,一些常見(jiàn)的內(nèi)置異常是:
當(dāng)出現(xiàn)錯(cuò)誤和異常時(shí),我們將借助Handling方法進(jìn)行處理。
用Try / Except / Finally處理異常我們可以通過(guò)Try / Except / Finally方法處理錯(cuò)誤。我們?cè)趖ry中編寫(xiě)不安全的代碼,在except中回退代碼,在finally塊中返回最終代碼。例
# 將不安全操作置于試驗(yàn)區(qū) try: print("代碼開(kāi)始") # 不安全操作執(zhí)行 print(1 / 0) except : print("發(fā)生錯(cuò)誤") finally: print("軟件測(cè)試test")
輸出:
PS C:\Users\Administrator\Desktop> & D:/Python37-32/python.exe "g:/黑蘋(píng)果備份請(qǐng)勿刪除/代碼/exercise24 (1)/python加密.py" 代碼開(kāi)始 發(fā)生錯(cuò)誤 軟件測(cè)試test
為預(yù)定義條件引發(fā)異常當(dāng)我們要為某些條件的限制進(jìn)行編碼時(shí),我們可以引發(fā)異常。例
請(qǐng)?jiān)谀愕膸糁屑渝X(qián)
輸出:
請(qǐng)?jiān)谀愕膸糁屑渝X(qián)
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Python中會(huì)發(fā)生幾種類(lèi)型的錯(cuò)誤”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。