精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

總結(jié)Python異常處理的三個(gè)重要知識(shí)點(diǎn)

開發(fā) 后端
實(shí)際上在編程過程中,我們一樣會(huì)假定某段代碼某個(gè)功能可能會(huì)出現(xiàn)問題的方式來編寫我們的代碼。今天我們主要來講講Python語言的異常處理相關(guān)知識(shí)。

我曾經(jīng)幫很多人修過電腦,排除硬件問題、排除系統(tǒng)問題、網(wǎng)絡(luò)問題等等。

在修電腦的過程中比如電腦無法開機(jī),我就會(huì)假定它某個(gè)配件已經(jīng)壞掉了,就先從電源開始排查起、CPU、內(nèi)存、主板等等一個(gè)一個(gè)的測(cè)試,看看究竟是哪一個(gè)配件有問題。

如果操作系統(tǒng)系統(tǒng)速度變慢同樣也可以用類似的辦法,先看當(dāng)前占用進(jìn)程有沒有不必要啟動(dòng)的、是否有病毒、系統(tǒng)是否沒有優(yōu)化等等。

實(shí)際上在編程過程中,我們一樣會(huì)假定某段代碼某個(gè)功能可能會(huì)出現(xiàn)問題的方式來編寫我們的代碼。

今天我們主要來講講Python語言的異常處理相關(guān)知識(shí)。

異常捕獲

首先我們來看一個(gè)例子:

總結(jié)Python異常處理的三個(gè)重要知識(shí)點(diǎn)

我通過 print(a) 讓Python解釋器給我報(bào)了一個(gè)異常,其中包含錯(cuò)誤信息的所有上下文信息,代碼路徑、錯(cuò)誤代碼內(nèi)容、錯(cuò)誤信息等等。

print(a)這個(gè)語句錯(cuò)誤的原因是在于a這個(gè)變量沒有定義 (NameError: name 'a' is not defined),這在我寫代碼之前就清楚。

然而在實(shí)際編程過程中,隨著代碼量的增加,我們有的時(shí)候并不確定某個(gè)變量是否已經(jīng)被賦值成功,如果變量未被成功的賦值,程序還是按原計(jì)劃對(duì)其進(jìn)行操作時(shí)可能就會(huì)直接報(bào)錯(cuò)。

要解決這個(gè)問題有兩個(gè)辦法:

  • 對(duì)變量進(jìn)行操作(例如加減法)之前檢查它的值是否已經(jīng)存在,如果不存在,就告訴用戶
  • 捕獲該異常,并且告訴用戶

這兩種辦法的結(jié)果其實(shí)都是會(huì)告訴用戶錯(cuò)誤信息,在結(jié)果上并沒有太大的變化,今天我們主要講第二種,異常自動(dòng)捕獲的方式。

現(xiàn)在我們改造一下剛才的代碼,把異常捕獲到然后自定義處理方式:

總結(jié)Python異常處理的三個(gè)重要知識(shí)點(diǎn)

以上的代碼例子展示我們通過異常捕獲 try except的語法把錯(cuò)誤捕獲到,并且自定義了其輸出內(nèi)容。

讓我們來解釋一下這段代碼:

  • try用于定義一個(gè)異常捕獲的語法塊。
  • 在try縮進(jìn)的區(qū)塊里,我們可以正常寫我們想要實(shí)現(xiàn)的代碼。
  • 在except區(qū)塊里,我們定義了如果程序報(bào)錯(cuò)后所要執(zhí)行的代碼,在本例子中就是直接打印報(bào)錯(cuò)信息 (報(bào)錯(cuò)信息:name 'a' is not defined)。
  • except后面的Exception as e 的用處是用于定義錯(cuò)誤信息類型(Exception),并且將錯(cuò)誤信息賦值給變量e。

通過在代碼任意位置使用try...except語法,我們可以設(shè)置多個(gè)try...except的代碼塊,如果在try中程序正常執(zhí)行沒有報(bào)錯(cuò),那么程序就會(huì)跳過except區(qū)塊,正常執(zhí)行之后的代碼。

異常類型

我們剛才用到Exception這個(gè)異常類型,它在Python中是常規(guī)錯(cuò)誤的基類,如果我們對(duì)可能出錯(cuò)的類型不能確定時(shí)就可以使用到它,但是一般不建議這么做。

不直接使用Exception的理由是我們?cè)诓东@到異常時(shí),總是希望能夠?qū)Ξ惓_M(jìn)行明確的報(bào)錯(cuò)或者處理,如果所有錯(cuò)誤都是Exception類型,我們其實(shí)也不知道程序究竟是在哪里出了錯(cuò)。

舉個(gè)例子來說明這個(gè)問題。

總結(jié)Python異常處理的三個(gè)重要知識(shí)點(diǎn)

通過上面這個(gè)例子我們可以學(xué)到兩件事情:

  • except和try是一對(duì)多的,有一個(gè)try語句,可以有1個(gè)或多個(gè) except語句,其用處是定義任意個(gè)異常類型和相關(guān)的處理代碼
  • 當(dāng)異常捕獲發(fā)生后,程序會(huì)中斷執(zhí)行,停留在第一個(gè)異常報(bào)錯(cuò)的位置。在本例子中因?yàn)槲覀僫mport xxx實(shí)際上是引入了一個(gè)不存在的模塊名,所以程序報(bào)錯(cuò) No module named 'xxx',其錯(cuò)誤類型是ImportError

現(xiàn)在我們嘗試把import xxx去掉試試。

總結(jié)Python異常處理的三個(gè)重要知識(shí)點(diǎn)

現(xiàn)在程序報(bào)了類型錯(cuò)誤(TypeError),因?yàn)閕nt類型的數(shù)據(jù)無法和str類型的數(shù)字進(jìn)行加法操作。

下面我給一個(gè)Python的常見異常錯(cuò)誤類型表,供大家參考。

總結(jié)Python異常處理的三個(gè)重要知識(shí)點(diǎn)

主動(dòng)拋出異常

上面我們講到了Python如何被動(dòng)捕獲異常,現(xiàn)在我們來講講主動(dòng)拋出異常的方法。

為什么要主動(dòng)拋出異常?

通常我們通過try except捕獲的異常叫做被動(dòng)捕獲,它其實(shí)是需要程序員進(jìn)行處理的,比如對(duì)錯(cuò)誤的變量?jī)?nèi)容做一些改正讓其繼續(xù)執(zhí)行。但是主動(dòng)拋出異常通常不需要再進(jìn)行處理,程序員已經(jīng)確定這個(gè)地方必須拋出異常給用戶,并且中斷程序執(zhí)行,基于這種情況下程序員就不用再對(duì)異常進(jìn)行處理了。

來看一個(gè)例子:

總結(jié)Python異常處理的三個(gè)重要知識(shí)點(diǎn)

在這段代碼里,我們定義了a為一個(gè)整型的數(shù)字。

然后通過instance()內(nèi)部函數(shù)判斷a如果不是字符串類型的情況下,就通過raise語句主動(dòng)拋出一個(gè)異常,報(bào)錯(cuò)內(nèi)容也是我們自定義的,其作用就是直接告訴用戶,數(shù)據(jù)出錯(cuò)了。

有朋友會(huì)提一個(gè)問題,你自己定義的a = 1,它明明是整型數(shù)字,你還拿去判斷它是不是字符串,這不是多此一舉嗎?它是不是字符串你心里沒點(diǎn)數(shù)嗎?

沒錯(cuò),之所以你會(huì)有這個(gè)問題是因?yàn)槲覀兊睦犹?jiǎn)單,假設(shè)變量a的內(nèi)容是來自于另一個(gè)模塊呢?或者是來自于爬蟲從網(wǎng)絡(luò)上抓取下來的數(shù)據(jù)?這個(gè)時(shí)候我們根本不知道a可能是什么內(nèi)容,那么就必須用到異常處理機(jī)制了。

raise的語法很簡(jiǎn)單:

  1. raise [exceptionName [(reason)]] 

在它后面跟上想要拋出的異常類型即可,如果有必要寫上錯(cuò)誤內(nèi)容的話,就傳進(jìn)去:

  1. raise ValueError("a必須是字符串") 

另外raise語句其實(shí)也可以和 try except結(jié)合起來使用:

總結(jié)Python異常處理的三個(gè)重要知識(shí)點(diǎn)

上面這個(gè)例子展現(xiàn)了程序如何主動(dòng)拋出異常,再由except捕獲并打印錯(cuò)誤信息。

自定義異常

其實(shí)我們剛才了解到所有異常錯(cuò)誤類型其實(shí)都是一個(gè)類 (class ),那么我們同樣可以自定義一個(gè)異常類,以便于在程序里使用。

總結(jié)Python異常處理的三個(gè)重要知識(shí)點(diǎn)

通過以上的代碼例子:

  • 我們自定義了一個(gè)異常類,叫做CustomerError,繼承自BaseException這個(gè)Python異常錯(cuò)誤類型的基類
  • 然后定義其__init__方法,并用一個(gè)變量接受傳入的錯(cuò)誤信息。
  • __init__方法里可以什么都不做,用一個(gè)pass占位即可,因?yàn)镃ustomerError類是繼承自BaseException的,它天生具有BaseException的所有特性。
  • 最后我們拋出一個(gè)CustomerError異常,并傳了一個(gè)字符串內(nèi)容"自定義異常"進(jìn)去,由except 捕獲到這個(gè)異常并輸出異常內(nèi)容。

總結(jié)

通過自定義異常,我們可以不用拘泥于Python自帶的異常錯(cuò)誤類型,定義更多自己想要的錯(cuò)誤類型,精確的控制出錯(cuò)的時(shí)機(jī)和處理方式。

最后通過一個(gè)思維導(dǎo)圖來展示異常處理的相關(guān)知識(shí)點(diǎn)。

總結(jié)Python異常處理的三個(gè)重要知識(shí)點(diǎn)

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2024-09-19 16:00:01

網(wǎng)絡(luò)編程網(wǎng)絡(luò)Python

2022-08-16 15:17:37

機(jī)器學(xué)習(xí)算法模型

2017-12-08 14:26:19

Android面試知識(shí)點(diǎn)總結(jié)

2020-10-14 10:50:50

SpringSessiJavaweb

2010-06-17 16:42:04

UML

2009-08-06 17:42:32

C#知識(shí)點(diǎn)

2010-08-18 10:52:46

Linux筆試

2023-03-16 15:13:41

缺失值據(jù)集中數(shù)據(jù)分析

2019-10-24 09:09:28

MySQLACIDJava

2021-04-13 08:25:12

測(cè)試開發(fā)Java注解Spring

2022-07-20 00:15:48

SQL數(shù)據(jù)庫(kù)編程語言

2020-07-01 17:25:28

Redis數(shù)據(jù)庫(kù)內(nèi)存

2014-06-10 13:44:58

iOSUIImage知識(shí)點(diǎn)

2016-12-21 09:55:55

面試JavaScrip總結(jié)

2013-08-01 10:16:06

Linux

2021-01-07 05:27:20

包導(dǎo)入變量

2021-04-19 08:35:44

PythonPython語言Python基礎(chǔ)

2023-12-22 15:32:20

2020-09-25 16:52:57

Python

2020-12-24 13:32:31

大數(shù)據(jù)數(shù)據(jù)分析SQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲国产中文在线| 777电影在线观看| 亚洲国产网站| 在线观看欧美日韩| 少妇丰满尤物大尺度写真| 日本动漫同人动漫在线观看| 91麻豆国产福利在线观看| 国产精品手机播放| 久久中文字幕无码| 成人羞羞动漫| 亚洲精品成人av| 国产精品自在自线| 中文字幕在线高清| 一区二区三区成人| 亚洲不卡1区| 精品人妻一区二区三区麻豆91| 国产精品综合色区在线观看| 久久综合免费视频| 久久美女免费视频| 老司机在线精品视频| 欧美喷水一区二区| 欧美久久久久久久久久久久久| 日本高清在线观看wwwww色| av成人免费在线观看| 成人在线一区二区| 亚洲 小说区 图片区| 亚洲伦伦在线| 九九视频这里只有精品| 国产又粗又黄又猛| 美日韩中文字幕| 亚洲成人久久一区| 国产又粗又猛又爽又黄| 日本成人一区二区| 欧美亚州韩日在线看免费版国语版| 久久99久久99精品| h网站久久久| 中文字幕色av一区二区三区| 欧美国产综合视频| 五月色婷婷综合| 成人v精品蜜桃久久一区| 亚洲一区亚洲二区| 国产在成人精品线拍偷自揄拍| 日韩av一级片| 国产精品福利在线| 无码人妻久久一区二区三区 | 亚洲欧美资源在线| 你懂的在线观看网站| 99亚洲乱人伦aⅴ精品| 日韩一级成人av| 深夜福利网站在线观看| 国产 日韩 欧美| 91精品国产乱| 久久aaaa片一区二区| 国语精品视频| 欧美一区二区三区在线观看 | 色先锋资源久久综合5566| 日韩丰满少妇无码内射| 教室别恋欧美无删减版| 亚洲日韩中文字幕| 91成人精品一区二区| 日本不卡免费一区| www日韩欧美| 国产一区二区视频在线观看免费| 自拍偷拍欧美专区| 欧美黑人性视频| 国产精品自拍视频一区| 日韩天天综合| 国产精品jizz在线观看麻豆| 国产午夜无码视频在线观看| 奇米777欧美一区二区| 国产在线视频一区| 午夜精品小视频| 99国产精品久久久久久久久久久| 久久久久久久久久码影片| 暖暖视频在线免费观看| 中文av一区特黄| 五月天av影院| 草草视频在线| 在线观看国产日韩| 香蕉视频xxxx| 欧美日韩精品一区二区三区在线观看| 亚洲精品综合久久中文字幕| 亚洲图片第一页| 亚洲香蕉网站| 日韩美女视频中文字幕| 国产一区二区女内射| 国产**成人网毛片九色 | 97超碰人人在线| 亚洲激情网站免费观看| 欧美大片在线播放| 成人深夜福利| 欧美精品一区二区三区很污很色的| 蜜臀av一区二区三区有限公司| 精品日韩欧美一区| 欧美日韩成人在线观看| 一级做a爰片久久毛片| 久草在线在线精品观看| 国产一区二区黄色| 午夜免费视频在线国产| 亚洲国产成人av好男人在线观看| 免费裸体美女网站| 亚洲日本va午夜在线电影| 亚洲女人初尝黑人巨大| 久久久久久久久久网站| 久久亚洲精选| y111111国产精品久久婷婷| 高清中文字幕一区二区三区| 亚洲成人精品一区二区| 久久人人爽av| 欧美日韩播放| 欧美激情中文字幕在线| 一区二区三区在线免费观看视频| 波多野结衣一区二区三区| 在线成人性视频| 欧美羞羞视频| 亚洲国产欧美日韩精品| 久久免费看少妇高潮v片特黄| 老司机一区二区三区| 成人自拍网站| 中文字幕资源网在线观看| 日本大香伊一区二区三区| 伊人久久一区二区三区| 2023国产精品久久久精品双| 国产精品老牛影院在线观看| 亚洲三级黄色片| 亚洲午夜久久久久久久久电影院 | av资源站一区| av在线免费观看国产| 亚洲成人毛片| 最近2019中文字幕第三页视频| 久久狠狠高潮亚洲精品| 福利电影一区二区| 午夜久久久久久久久久久| 国产香蕉久久| 最近2019中文免费高清视频观看www99 | 污污视频在线看| 在线观看免费亚洲| 黄免费在线观看| 亚洲精品偷拍| 国产日韩亚洲精品| 大香伊人久久| 亚洲电影免费观看高清| 免费在线观看黄色av| 国产一区二区三区免费观看| av不卡在线免费观看| 懂色av色香蕉一区二区蜜桃| 久久精品在线视频| 国产三级三级在线观看| 亚洲欧美日韩在线播放| 在线观看日本www| 亚洲成人二区| 97人人澡人人爽| 丝袜在线观看| 欧美精品一区二区高清在线观看| 久久国产在线观看| 成人免费视频免费观看| 精品无码一区二区三区爱欲| 六月丁香久久丫| 88xx成人精品| 国产在线免费观看| 欧美日韩一级视频| 老湿机69福利| 99久久久久免费精品国产| 亚洲中文字幕无码av永久| 啪啪国产精品| 国产精品9999| 久久综合网导航| 欧美大片免费久久精品三p| 69精品久久久| 久久久亚洲午夜电影| 色悠悠久久综合网| 亚洲最新色图| 欧美高清视频一区| 久久91视频| 欧美国产在线视频| 男女污污视频在线观看| 欧美人妇做爰xxxⅹ性高电影 | 李宗瑞91在线正在播放| 美腿丝袜亚洲色图| 日韩欧美精品免费| 色综合综合网| 91精品婷婷国产综合久久蝌蚪| 国产乱码在线| 永久免费毛片在线播放不卡| av天堂一区二区三区| 岛国av在线不卡| 中文字幕第24页| 国产成人小视频| 一本色道无码道dvd在线观看| 国产精品精品国产一区二区| 国产精品xxx在线观看www| 欧美特大特白屁股xxxx| 欧美成人在线网站| 国产在线观看免费| 欧美变态口味重另类| 男人的天堂av网站| 亚洲国产毛片aaaaa无费看| 黄色片网站免费| 成人在线视频首页| 亚洲免费av一区| 国产一区白浆| 超薄肉色丝袜足j调教99| 免费视频国产一区| 国产经典一区二区三区| www.一区| 欧美一级电影在线| 羞羞的网站在线观看| 国产亚洲精品久久久久久| 亚洲高清视频在线播放| 欧美性大战久久久| 久久国产视频播放| 一区二区三区在线看| 精品熟妇无码av免费久久| 99精品黄色片免费大全| 亚洲精品乱码久久久久久动漫| 天堂成人国产精品一区| 国产男女免费视频| 午夜精品婷婷| 宅男噜噜99国产精品观看免费| 综合综合综合综合综合网| 国产精品9999久久久久仙踪林| 亚洲国产91视频| 国产精品久久国产精品99gif| 国产精品蜜芽在线观看| 欧美猛交免费看| 91麻豆免费在线视频| 日韩在线视频二区| 毛片免费在线播放| 日韩精品极品在线观看| 人妻无码中文字幕| 欧美大胆一级视频| 亚洲产国偷v产偷v自拍涩爱| 在线播放日韩导航| 国产精品国产av| 欧美精品日韩综合在线| 亚洲天堂avav| 欧美色爱综合网| 五月激情丁香网| 欧美亚洲国产怡红院影院| 天天综合久久综合| 欧美色图片你懂的| 中文字幕一级片| 欧美日韩中文一区| 在线免费看91| 8x福利精品第一导航| 国产免费一区二区三区免费视频| 欧美日产国产精品| 国产视频一区二区三| 欧美一级生活片| 精品人妻一区二区三区浪潮在线 | 大黑人交xxx极品hd| 99在线精品一区二区三区| 精品人妻伦一二三区久| 91麻豆国产福利在线观看| 亚洲av无码一区二区三区人 | 国产福利91精品一区| 自拍视频第一页| 成人激情免费网站| 成人免费看aa片| 中文在线资源观看网站视频免费不卡| 中文字幕第69页| 一区二区三区视频在线看| 国产污视频在线看| 色综合久久久久久久| 国产美女www| 91精品国产一区二区| 亚洲av无码国产综合专区| 亚洲国产日韩精品在线| 日本天堂影院在线视频| 中文字幕日本精品| 污污影院在线观看| 45www国产精品网站| jizz久久久久久| 国产福利久久精品| 国产永久精品大片wwwapp| 亚洲图片都市激情| 狠狠色综合网| 国内自拍视频网| 国产成人精品三级| 国产婷婷在线观看| 国产欧美日韩中文久久| 青青草原免费观看| 色噜噜狠狠成人中文综合 | 亚洲日本在线观看视频| 91精品视频播放| 欧美综合精品| 糖心vlog在线免费观看| 久久久久久久尹人综合网亚洲| 亚洲制服中文字幕| 久久亚洲一区二区三区四区| 日韩精品一区二区三区在线视频| 亚洲国产成人精品视频| 一级片在线免费观看视频| 亚洲第一精品自拍| 色的视频在线免费看| 96精品视频在线| 99久久999| 日本亚洲导航| 亚洲二区精品| 亚洲高清av一区二区三区| 26uuu欧美| 久久久久久国产精品免费播放| 91久久精品午夜一区二区| 成人av免费播放| 日韩在线免费高清视频| 欧美日韩美女| 精品久久一区二区三区蜜桃| 97久久视频| 成人亚洲视频在线观看| bt7086福利一区国产| 国产探花在线免费观看| 欧美亚洲国产一区在线观看网站| 天天操天天干天天爱| 欧美理论电影在线观看| 久久91视频| 日韩一区不卡| 久久久亚洲一区| 成年人的黄色片| 一区二区欧美视频| 国产熟女精品视频| 色午夜这里只有精品| 亚洲一区二区三区四区| 精品综合久久| 亚洲久久一区| 亚洲成年人在线观看| 亚洲免费观看高清完整版在线观看 | 神马久久久久久久久久| 日韩一级黄色av| 精品欧美日韩精品| 欧美在线播放一区| 性欧美暴力猛交另类hd| 人妻少妇精品视频一区二区三区 | 欧美丰满熟妇bbbbbb百度| 粉嫩一区二区三区在线看| 青青青在线免费观看| 3751色影院一区二区三区| 91九色在线porn| 国产精品久久久久久久9999| 视频精品在线观看| 国产熟人av一二三区| 国产人伦精品一区二区| 国产女优在线播放| 在线观看亚洲视频| 成人精品国产亚洲| 午夜一区二区三区| 蜜臀av在线播放一区二区三区| 手机毛片在线观看| 欧美日韩国产电影| 国精产品一区| 97碰碰视频| 99视频在线精品国自产拍免费观看| 欧美xxxxx少妇| 黑人精品xxx一区| 欧美视频综合| 国产精品免费一区二区三区都可以 | 亚洲免费黄色| 中文字幕在线观看网址| 日韩欧美中文第一页| 国产一二在线观看| 成人黄色免费片| 午夜欧美理论片| 网站免费在线观看| 色婷婷久久99综合精品jk白丝| 免费播放片a高清在线观看| 国产精品精品视频一区二区三区| 99热国内精品| 在线观看免费视频黄| 色婷婷久久一区二区三区麻豆| 日韩黄色影院| 国产精品免费一区二区三区在线观看| 国产一区二区三区久久| 在线看片中文字幕| 日韩视频在线一区二区| 大菠萝精品导航| 四虎永久在线精品免费一区二区| 久久国产三级精品| 久草视频精品在线| 亚洲一级一级97网| 日韩成人久久| 日韩精品一区二区三区久久| 国产精品理论在线观看| 丰满人妻一区二区三区免费| 日本亚洲欧美成人| 99精品小视频| 亚洲av无码成人精品国产| 欧美精选在线播放| 欧美aa免费在线| 亚洲欧洲一区二区在线观看| 高清视频一区二区| 中文字幕 国产精品| 久久久久久久香蕉网| jizzjizz欧美69巨大| 影音先锋资源av| 欧美日韩免费在线视频| 黄毛片在线观看| 欧美另类videosbestsex日本| 久久久久久97三级| 不卡的日韩av| 91精品国产综合久久香蕉的用户体验| 亚洲美女色禁图|