在學(xué)習(xí)Python的過(guò)程中佣赖,一定會(huì)遇到很多困難,我相信很多時(shí)候的记盒,報(bào)錯(cuò)就會(huì)是讓人抓狂憎蛤,一個(gè)好的程序員最主要的特質(zhì),就是處理錯(cuò)誤的能力。在面對(duì)每次遇到的問(wèn)題俩檬,要多總結(jié)多做筆記萎胰,爭(zhēng)取下次避免犯同樣的錯(cuò)誤,或者再遇到這樣的情況能夠快速解決棚辽。
在python中一共有2種錯(cuò)誤:
一種是語(yǔ)法錯(cuò)誤技竟,另外一種是異常。
語(yǔ)法錯(cuò)誤
語(yǔ)法錯(cuò)誤也叫做解析錯(cuò)誤屈藐,是指python無(wú)法正確的識(shí)別代碼的造成的灵奖。
解決方法:按照正確的語(yǔ)法進(jìn)行書(shū)寫(xiě)就沒(méi)這個(gè)錯(cuò)誤了!
?常見(jiàn)的異常分類:
IndentationError 縮進(jìn)錯(cuò)誤
下面這些也是常見(jiàn)的異常錯(cuò)誤估盘,在報(bào)錯(cuò)的時(shí)候不要害怕瓷患,記住這些常見(jiàn)的單詞。
AttributeError 嘗試訪問(wèn)未知的對(duì)象屬性
EOFError 用戶輸入文件末尾標(biāo)志EOF(Ctrl+d)
FloatingPointError 浮點(diǎn)計(jì)算錯(cuò)誤
GeneratorExit generator.close()方法被調(diào)用的時(shí)候
ImportError 導(dǎo)入模塊失敗的時(shí)候
KeyboardInterrupt 用戶輸入中斷鍵(Ctrl+c)
MemoryError 內(nèi)存溢出(可通過(guò)刪除對(duì)象釋放內(nèi)存)
NotImplementedError 尚未實(shí)現(xiàn)的方法
OSError 操作系統(tǒng)產(chǎn)生的異常(例如打開(kāi)一個(gè)不存在的文件)
OverflowError 數(shù)值運(yùn)算超出最大限制
ReferenceError 弱引用(weak reference)試圖訪問(wèn)一個(gè)已經(jīng)被垃圾回收機(jī)制回收了的對(duì)象
RuntimeError 一般的運(yùn)行時(shí)錯(cuò)誤
StopIteration 迭代器沒(méi)有更多的值
SyntaxError Python的語(yǔ)法錯(cuò)誤
TabError Tab和空格混合使用
SystemError Python編譯器系統(tǒng)錯(cuò)誤
SystemExit Python編譯器進(jìn)程被關(guān)閉
TypeError 不同類型間的無(wú)效操作
UnboundLocalError 訪問(wèn)一個(gè)未初始化的本地變量(NameError的子類)
UnicodeError Unicode相關(guān)的錯(cuò)誤(ValueError的子類)
UnicodeEncodeError Unicode編碼時(shí)的錯(cuò)誤(UnicodeError的子類)
UnicodeDecodeError Unicode解碼時(shí)的錯(cuò)誤(UnicodeError的子類)
UnicodeTranslateError Unicode轉(zhuǎn)換時(shí)的錯(cuò)誤(UnicodeError的子類)
ValueError 傳入無(wú)效的參數(shù)
ZeroDivisionError 除數(shù)為零