溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python中會(huì)發(fā)生幾種類(lèi)型的錯(cuò)誤

發(fā)布時(shí)間:2021-11-25 14:10:52 來(lái)源:億速云 閱讀:127 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要介紹了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ò)誤。

  1. 語(yǔ)法錯(cuò)誤

  2. 邏輯錯(cuò)誤(異常)

語(yǔ)法錯(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)題。

邏輯錯(cuò)誤(異常)

在運(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)置異常是:

錯(cuò)誤處理

當(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í)!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI