程序異常崩潰時會提供非常詳細的錯誤信息,掌握正確的分析方法,就可以快速定位問題并解決問題,下面這段代碼會引發異常導致程序終止
def func_tet():
func_sum('4', 3)
def func_sum(a, b):
value = a + b
return value
func_tet()
運行這段程序,異常信息如下
我將異常信息分為兩部分,分析時,先關注最后一行綠色框內的信息,這里的信息明確的指明了異常的類型和異常的解釋信息,這是我們分析問題的第一步,隨著經驗的積累,你很容就能通過異常信息分析出為何會發生異常。
異常信息的第二部分,就是藍色框內的內容,是調用堆棧信息,詳細的記錄了程序的執行路徑,最后一行正是錯誤發生的位置。
現在,既有出錯代碼的位置,又有錯誤的類型與解釋,如果還是不能找出問題,那么,可以百度了,百度時將最后一行綠色框里的內容作為搜索詞進行搜索,可以找到大量文章。
其實,異常并不可怕,異常也不是無窮無盡的,下面是pyhton中的所有異常以及他們之間的繼承關系
BaseException
+-- SystemExit
+-- KeyboardInterrupt
+-- GeneratorExit
+-- Exception
+-- StopIteration
+-- StopAsyncIteration
+-- ArithmeticError
| +-- FloatingPointError
| +-- OverflowError
| +-- ZeroDivisionError
+-- AssertionError
+-- AttributeError
+-- BufferError
+-- EOFError
+-- ImportError
| +-- ModuleNotFoundError
+-- LookupError
| +-- IndexError
| +-- KeyError
+-- MemoryError
+-- NameError
| +-- UnboundLocalError
+-- OSError
| +-- BlockingIOError
| +-- ChildProcessError
| +-- ConnectionError
| | +-- BrokenPipeError
| | +-- ConnectionAbortedError
| | +-- ConnectionRefusedError
| | +-- ConnectionResetError
| +-- FileExistsError
| +-- FileNotFoundError
| +-- InterruptedError
| +-- IsADirectoryError
| +-- NotADirectoryError
| +-- PermissionError
| +-- ProcessLookupError
| +-- TimeoutError
+-- ReferenceError
+-- RuntimeError
| +-- NotImplementedError
| +-- RecursionError
+-- SyntaxError
| +-- IndentationError
| +-- TabError
+-- SystemError
+-- TypeError
+-- ValueError
| +-- UnicodeError
| +-- UnicodeDecodeError
| +-- UnicodeEncodeError
| +-- UnicodeTranslateError
+-- Warning
+-- DeprecationWarning
+-- PendingDeprecationWarning
+-- RuntimeWarning
+-- SyntaxWarning
+-- UserWarning
+-- FutureWarning
+-- ImportWarning
+-- UnicodeWarning
+-- BytesWarning
+-- ResourceWarning
勤思考,勤百度,注意積累,很快就能輕松解決大部分異常
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
