Python?Traceback(most?recent?call?last)報(bào)錯(cuò)信息:示例解讀
Python Traceback(most recent call last)報(bào)錯(cuò)
如果一個(gè)錯(cuò)誤出現(xiàn)后沒有被捕獲(捕獲是什么先不管,現(xiàn)在就理解為出現(xiàn)了一個(gè)錯(cuò)誤),它就一直被往上拋,最終將被Python解釋器捕獲。
然后就在本該輸出結(jié)果的地方打印一大串錯(cuò)誤信息,然后程序退出。
示例代碼
如下:
定義一個(gè)名為f1的函數(shù) 接收一個(gè)s,將s轉(zhuǎn)化為整數(shù)類型后,函數(shù)返回1除以s的值
def f1(s): return 1 / int(s)
定義一個(gè)名為f2的函數(shù) 調(diào)用函數(shù)f1(),返回f1()返回值+1
def f2(s): return f1(s)+1
定義一個(gè)名為f3的函數(shù) 調(diào)用函數(shù)f2(),返回f2()返回值+1
def f3(s): return f2(s)+1
調(diào)用f3函數(shù)
f3(‘0')
示例代碼執(zhí)行后結(jié)果如下:
D:\Anaconda3\python.exe D:/生活學(xué)習(xí)日常記錄/PycharmProjects/test/main.py
Traceback (most recent call last):
File “D:/生活學(xué)習(xí)日常記錄/PycharmProjects/test/main.py”, line 20, in
f3(‘0’)
File “D:/生活學(xué)習(xí)日常記錄/PycharmProjects/test/main.py”, line 16, in f3
return f2(s)+1
File “D:/生活學(xué)習(xí)日常記錄/PycharmProjects/test/main.py”, line 10, in f2
return f1(s)+1
File “D:/生活學(xué)習(xí)日常記錄/PycharmProjects/test/main.py”, line 4, in f1
return 1 / int(s)
ZeroDivisionError: division by zeroProcess finished with exit code 1
解讀錯(cuò)誤信息就可以定位錯(cuò)誤:
解釋器在"D:\Anaconda3\python.exe" 執(zhí)行的程序在"XXX.py"
D:\Anaconda3\python.exe D:/生活學(xué)習(xí)日常記錄/PycharmProjects/test/main.py
錯(cuò)誤的跟蹤信息
Traceback (most recent call last):
錯(cuò)誤出現(xiàn)在文件"XXX.py",第20行代碼,錯(cuò)誤來源于此執(zhí)行模塊:
File “D:/生活學(xué)習(xí)日常記錄/PycharmProjects/test/main.py”, line 20, in
f3(‘0’) # 出錯(cuò)語句為f3(‘0’)
f3(‘0’)是導(dǎo)致報(bào)錯(cuò)的“直接原因”語句 錯(cuò)誤出現(xiàn)在文件"XXX.py",第16行代碼,錯(cuò)誤來源于函數(shù)f3():
File “D:/生活學(xué)習(xí)日常記錄/PycharmProjects/test/main.py”, line 16, in f3
return f2(s)+1 # 出錯(cuò)語句為return f2(s)+1
錯(cuò)誤出現(xiàn)在文件"XXX.py",第10行代碼,錯(cuò)誤來源于函數(shù)f2():
File “D:/生活學(xué)習(xí)日常記錄/PycharmProjects/test/main.py”, line 10, in f2
return f1(s)+1 # 出錯(cuò)語句為return f1(s)+1
錯(cuò)誤出現(xiàn)在文件"XXX.py",第4行代碼,錯(cuò)誤來源于函數(shù)f1():
File “D:/生活學(xué)習(xí)日常記錄/PycharmProjects/test/main.py”, line 4, in f1
return 1 / int(s) # 出錯(cuò)語句為return 1 / int(s)
return 1 / int(s)是導(dǎo)致報(bào)錯(cuò)的“根本原因”語句 錯(cuò)誤類型是:除以零
ZeroDivisionError: division by zero
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python機(jī)器學(xué)習(xí)入門(二)之Python數(shù)據(jù)理解
這篇文章主要介紹了Python機(jī)器學(xué)習(xí)入門知識(shí),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08淺談使用Python內(nèi)置函數(shù)getattr實(shí)現(xiàn)分發(fā)模式
這篇文章主要介紹了淺談使用Python內(nèi)置函數(shù)getattr實(shí)現(xiàn)分發(fā)模式,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01python通過裝飾器檢查函數(shù)參數(shù)數(shù)據(jù)類型的方法
這篇文章主要介紹了python通過裝飾器檢查函數(shù)參數(shù)數(shù)據(jù)類型的方法,涉及Python裝飾器的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03通過Python編程將CSV文件導(dǎo)出為PDF文件的方法
CSV文件通常用于存儲(chǔ)大量的數(shù)據(jù),而PDF文件則是一種通用的文檔格式,便于與他人共享和打印,將CSV文件轉(zhuǎn)換成PDF文件可以幫助我們更好地管理和展示數(shù)據(jù),本文將介紹如何通過Python編程將CSV文件導(dǎo)出為PDF文件,需要的朋友可以參考下2024-06-06Pycharm+Scrapy安裝并且初始化項(xiàng)目的方法
今天小編就為大家分享一篇Pycharm+Scrapy安裝并且初始化項(xiàng)目的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01