任何編程高手,在寫程序的時(shí)候也難免發(fā)生錯(cuò)誤,所以重要的不是避免錯(cuò)誤,而是發(fā)生了錯(cuò)誤時(shí)如何知道錯(cuò)在哪里,以便進(jìn)行相應(yīng)的修改。
我們來(lái)看下一段只有一句話的程序,
print(18 + a)
我們執(zhí)行這個(gè)程序會(huì)看到如下面圖2.50中所示的命令行輸出,

圖2.50 程序執(zhí)行出現(xiàn)錯(cuò)誤
Python程序在運(yùn)行時(shí)如果發(fā)現(xiàn)了錯(cuò)誤,就會(huì)輸出相關(guān)的錯(cuò)誤信息,其中,一般在最后幾行是我們最需要了解的信息。例如這個(gè)例子中,我們看到,錯(cuò)誤信息顯示的是,在“test.py”文件中第1行,print(16 + a)這條語(yǔ)句中出現(xiàn)了錯(cuò)誤,錯(cuò)誤的類型是“NameError”,具體原因是“a”這個(gè)名字沒有被定義過。那么如果我們是無(wú)心之失,馬上就可以反應(yīng)過來(lái),原來(lái)是“a”這個(gè)變量,我們還沒有定義過就用上了,這當(dāng)然是一種錯(cuò)誤,我們只需要對(duì)程序做如下修改,就可以讓程序順利運(yùn)行了。
a = 6
print(18 + a)