国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 對python異常的理解

對python異常的理解

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-05 21:25:25 1699190725

1、什么是異常

??異常即“與正常情況不同”,何為正常?正常便是解釋器在解釋代碼時,我們所編寫的代碼符合解釋器定義的規(guī)則,即為正常,當(dāng)解釋器發(fā)現(xiàn)某段代碼符合語法但有可能出現(xiàn)不正常的情況時,解釋器便會發(fā)出一個事件,中斷程序的正常執(zhí)行。這個中斷的信號便是一個異常信號。所以,總體解釋就是,在解釋器發(fā)現(xiàn)到程序出現(xiàn)錯誤的時候,則會產(chǎn)生一個異常,若程序沒有處理,則會將該異常拋出,程序的運行也隨之終止。我們可以在一個空白的.py文件中寫一句int(“m”),運行后結(jié)果如下。

在這里插入圖片描述

這一串字體為解釋器拋出的一系列錯誤信息,因為int()傳入的參數(shù)只支持數(shù)字字符串和數(shù)字,顯然‘m’不屬于數(shù)字字符串傳入?yún)?shù)錯誤所以解釋器報“valueError”的錯誤。

2、錯誤和異常的區(qū)別

對于python錯誤的概述:它指的是代碼運行前的語法或邏輯錯誤。拿常規(guī)語法錯誤來說,當(dāng)我們編寫的代碼過不了語法檢測時,則會直接出現(xiàn)語法錯誤,必須在程序執(zhí)行前就改正,不然寫的代碼將毫無意義,代碼是不運行的,也無法捕獲得到。舉個例子,在.py文件輸入ifa=1print(“hello”),輸出結(jié)果如下:

Traceback(mostrecentcalllast):

File"E:/Test_code/test.py",line1

ifa=1print("hello")

^SyntaxError:invalidsyntax

函數(shù)print()被檢查到有錯誤,是它前面缺少了一個冒號:,所以解析器會復(fù)現(xiàn)句法錯誤的那行代碼,并用一個小“箭頭”指向行里檢測到的第一個錯誤,所以我們可以直接找到對應(yīng)的位置修改其語法。當(dāng)然除了語法錯誤,還有很多程序奔潰的錯誤,如內(nèi)存溢出等,這類錯誤往往比較隱蔽。

相比于錯誤,python異常主要在程序執(zhí)行過程中,程序遇見邏輯或算法問題,這時解釋器如果可以處理,則沒問題,如果處理不了,便直接終止程序,便將異常拋出,如第1小點的int(‘m’)例子,因為參數(shù)傳入錯誤導(dǎo)致程序出錯。這種因為邏輯產(chǎn)生的異常五花八門,還好我們的解釋器都內(nèi)置好了各種異常的種類,讓我們知道是什么樣的異常出現(xiàn),好讓我們“對癥下藥”。

這里注意一點,上述語法錯誤是可識別的錯誤,所以解釋器也會默認拋出一個SyntaxError異常信息反饋給程序員。所以本質(zhì)上大部分錯誤都是可被輸出打印的,只是因為錯誤代碼不運行,也就沒法處理,所以捕獲錯誤的異常信息就變得沒意義。

以上內(nèi)容為大家介紹了對python異常的理解,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。http://www.kei0345678.cn/

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT