精品欧美一区二区三区在线观看 _久久久久国色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)

欧洲熟妇的性久久久久久| cao在线观看| 国产精品久久久久久久久毛片| 你懂的视频一区二区| 亚洲第一视频在线观看| 日本成人在线免费视频| 麻豆视频在线观看免费| 成人av在线电影| 国产精品福利在线观看| 久草成人在线视频| 日韩av大片| 亚洲国产精品热久久| 亚洲天堂av线| 91超碰免费在线| 国产精品不卡视频| 久久福利电影| 国产视频在线免费观看| 久久精品毛片| 国语自产精品视频在线看| 成年人免费视频播放| 少妇av在线播放| 日本视频一区二区三区| 欧美激情一级二级| www中文在线| 神马日本精品| 欧美变态凌虐bdsm| 一区二区三区欧美精品| 免费观看亚洲| 午夜久久久久久电影| 宅男一区二区三区| 狠狠v欧美ⅴ日韩v亚洲v大胸| 粉嫩aⅴ一区二区三区四区| 国产精品免费电影| 4438国产精品一区二区| 亚洲视频福利| 欧美肥婆姓交大片| 欧美做爰爽爽爽爽爽爽| 99精品全国免费观看视频软件| 亚洲欧洲日韩国产| 特级西西人体wwwww| 欧美2区3区4区| 欧美一区二区女人| 欧美精品 - 色网| 四虎视频在线精品免费网址| 欧美影视一区在线| 激情六月丁香婷婷| 亚洲欧美小说色综合小说一区| 亚洲福利视频一区| 欧美人与动牲交xxxxbbbb| 国内精品不卡| 中文字幕中文字幕在线一区 | 一区二区三区日韩在线观看| 亚洲一区二区三区午夜| 色开心亚洲综合| 欧美高清在线一区二区| 婷婷精品国产一区二区三区日韩| 国产区高清在线| 国产女同性恋一区二区| 先锋影音一区二区三区| 1024国产在线| 亚洲欧美日韩综合aⅴ视频| 欧美少妇一级片| 黄网站在线免费| 亚洲精品成人精品456| 丰满人妻一区二区三区53号| 中文字幕在线观看网站| 亚洲图片自拍偷拍| 中文字幕无码精品亚洲35| 亚洲十八**毛片| 日本韩国欧美三级| 加勒比av中文字幕| 免费看日产一区二区三区| 精品精品国产高清一毛片一天堂| 国产chinese中国hdxxxx| 日韩有码av| 色噜噜狠狠狠综合曰曰曰88av | 亚洲大片免费看| 欧美日韩二三区| 黑人巨大精品欧美一区二区桃花岛| 一本色道久久综合亚洲91| 婷婷激情四射五月天| 4438五月综合| 精品久久一区二区三区| 日韩人妻一区二区三区| 久久久国产精品| 久久免费高清视频| 免费一级a毛片| 国产专区欧美精品| 久久精品人成| 久久精品视频免费看| 五月婷婷综合网| 在线观看免费黄网站| 国产精品3区| 精品视频久久久久久久| 三上悠亚在线观看视频| 国产欧美三级| 成人性生交大片免费看小说| 性感美女视频一二三| 国产精品传媒入口麻豆| 国产午夜福利100集发布| 123成人网| 亚洲国产精品专区久久| 四虎地址8848| 免费精品视频| 春色成人在线视频| 一区二区三区视频网站 | 日韩在线观看免费| 国产精品一区二区6| 麻豆成人av在线| 久久av一区二区三区漫画| 国产午夜精品久久久久免费视| 欧美日韩美女在线| 欧美69精品久久久久久不卡| 精品久久电影| 欧美一级免费视频| 丰满肥臀噗嗤啊x99av| 最新高清无码专区| 久久久精品麻豆| 小嫩嫩12欧美| 午夜精品久久久久久久99热浪潮| 国产精品一级视频| 国产免费久久精品| 久久国产成人精品国产成人亚洲| 香蕉成人app| 欧美精品在线观看| 国产美女www爽爽爽视频| 国产日韩v精品一区二区| 自拍日韩亚洲一区在线| 中文字幕亚洲在线观看| 欧美久久久精品| 国产乱人乱偷精品视频| 中文字幕+乱码+中文字幕一区| 欧美黄网站在线观看| 盗摄牛牛av影视一区二区| 欧美大尺度在线观看| 在线免费观看中文字幕| 中文字幕精品综合| 天天碰免费视频| 菠萝蜜一区二区| 日本中文字幕久久看| 日本不卡视频一区二区| 欧美日韩精品在线视频| 182在线视频| 在线 亚洲欧美在线综合一区| 97人人模人人爽人人喊38tv| 成人video亚洲精品| 日韩一区二区在线观看| 国产日韩欧美在线观看视频| 国产精品资源在线看| 影音先锋成人资源网站| 日韩在线观看一区二区三区| 欧美美女操人视频| 免费观看的毛片| 亚洲超碰97人人做人人爱| 欧美一级片黄色| 一区二区久久| 欧洲久久久久久| 成人免费毛片嘿嘿连载视频…| 在线视频日本亚洲性| 亚洲天堂视频网| 亚洲日本在线a| 2018国产精品| 国产亚洲网站| 日韩亚洲一区在线播放| 久久精品国产福利| 麻豆乱码国产一区二区三区| 丰满人妻一区二区三区四区53 | 久久亚洲影视婷婷| 日本新janpanese乱熟| 日韩精品一区二区三区免费观影| 国产欧美日韩专区发布| 最新国产在线拍揄自揄视频| 精品国产百合女同互慰| av图片在线观看| 国产精品黄色在线观看| 亚洲成人激情小说| 一区二区黄色| 精品久久免费观看| 精品网站aaa| 国产欧美一区二区三区久久| 丝袜国产在线| 亚洲欧美在线一区二区| 国产熟女一区二区三区五月婷| 亚洲国产aⅴ成人精品无吗| 精品夜夜澡人妻无码av| 看国产成人h片视频| 大伊香蕉精品视频在线| 欧美老女人另类| 亚洲自拍小视频免费观看| 色偷偷偷在线视频播放| 日韩在线播放av| 欧美性孕妇孕交| 91精品国产综合久久精品app| 91看片在线播放| 国产精品久久久爽爽爽麻豆色哟哟 | 中文在线最新版地址| 日韩中文字幕网址| 深夜福利视频在线观看| 欧美一区二区三区小说| 中文字幕日韩免费| 一区二区久久久| 亚洲av毛片基地| 不卡影院免费观看| 三年中文在线观看免费大全中国| 亚洲伊人观看| 日韩一级性生活片| 午夜国产一区二区| 欧洲亚洲一区二区| 另类尿喷潮videofree| 成人国产精品久久久| 88xx成人免费观看视频库| 欧美激情a∨在线视频播放 | 久久久久久国产精品| 爱久久·www| 亚洲国产日韩一区| 午夜精品在线播放| 欧美精品黑人性xxxx| 亚洲av无码精品一区二区| 精品久久久国产精品999| 国产乱国产乱老熟300| 国产精品久久久久aaaa| 中文幕无线码中文字蜜桃| 成人亚洲精品久久久久软件| 亚洲第一天堂久久| 另类人妖一区二区av| 国产97色在线 | 日韩| 国产农村妇女精品一区二区| 欧美日韩福利在线| 欧美激情aⅴ一区二区三区| 亚洲午夜在线观看| 日韩综合精品| 天堂资源在线亚洲资源| 国产成人调教视频在线观看| 国产一区二区高清不卡| 国产精伦一区二区三区| 成人在线观看91| 国产主播性色av福利精品一区| 91性高湖久久久久久久久_久久99| 国产91在线播放精品| 国产精品高精视频免费| 欧美极品影院| 国产精品久久久久av| 亚洲成人短视频| 国产精品国产亚洲伊人久久| 偷拍视频一区二区三区| 国产91九色视频| 欧美精品资源| 国产美女精品视频免费观看| 福利视频亚洲| 成人性生交xxxxx网站| 精品视频一二| 国产91精品一区二区绿帽| a级日韩大片| 国产自产在线视频一区| 日韩三级毛片| 色999五月色| 国产精品久久久乱弄| 超碰10000| 99日韩精品| 成人黄色一区二区| 蓝色福利精品导航| 色哟哟网站在线观看| 91网页版在线| 超薄肉色丝袜一二三| 亚洲三级在线免费| 久久久精品视频在线| 精品动漫一区二区三区| 69亚洲精品久久久蜜桃小说| 欧美日本在线一区| 午夜精品久久久久久久96蜜桃| 亚洲国产天堂久久国产91| 欧美日韩在线中文字幕| 少妇高潮久久77777| 亚洲区欧洲区| 国产成人拍精品视频午夜网站| 国产亚洲欧美日韩精品一区二区三区| 国产这里只有精品| 国产精品久久久网站| 欧美精品久久久| 亚洲破处大片| 无罩大乳的熟妇正在播放| 日本午夜一本久久久综合| 九九热视频免费| 久久久久久久久久久电影| 国产精品久久久视频| 亚洲午夜精品一区二区三区他趣| 亚洲 欧美 日韩 在线| 欧美一区午夜精品| 你懂的好爽在线观看| 另类视频在线观看| 婷婷综合六月| 国产精品v欧美精品∨日韩| 成人激情电影在线| 日韩av新片网| 国产一区二区在线视频| 99久久国产精| 亚洲精品视频自拍| 这里只有久久精品视频| 亚洲精品一区二区精华| 日本在线免费网| 日韩美女中文字幕| a级日韩大片| aaa免费在线观看| 丝袜美腿亚洲一区| 黄色av网址在线观看| 亚洲欧洲精品成人久久奇米网| 天天综合网久久综合网| 欧美一卡在线观看| 137大胆人体在线观看| 欧美一区在线直播| 粉嫩一区二区三区四区公司1| 亚洲第一综合| 亚洲一区二区免费看| 91精品又粗又猛又爽| 亚洲美女区一区| 91亚洲国产成人精品一区| 亚洲免费av电影| 91九色在线看| 成人自拍网站| 欧美激情无毛| 免费网站在线观看黄| 国产精品美女一区二区三区| 亚洲熟女综合色一区二区三区| 欧美精品一区二区三区视频| aa在线视频| 成人女保姆的销魂服务| 欧美久久精品一级c片| 成人羞羞国产免费网站| 91麻豆蜜桃一区二区三区| 欧美性猛交xxxxx少妇| 91精品国产综合久久久久久久 | 国产在线播放精品| 国产精品久久国产| 国产一区91精品张津瑜| 日本精品在线免费观看| 欧美日韩在线一区二区| 1769在线观看| 成人精品一区二区三区电影免费 | 国产超碰在线播放| 久久久久久夜精品精品免费| 国产成人在线视频观看| 日韩大片在线观看视频| 超碰成人av| 欧美福利一区二区三区| 久久国产精品久久w女人spa| 我和岳m愉情xxxⅹ视频| 一本一本大道香蕉久在线精品| 日韩有码电影| 国产成人精品久久久| 欧美军人男男激情gay| 天天干天天玩天天操| 日韩毛片精品高清免费| 国产偷拍一区二区| 欧美国产第二页| 加勒比久久高清| 久久精品免费一区二区| 久久久另类综合| 中文字幕在线观看1| 久久av中文字幕| 国产成人在线中文字幕| 久草精品在线播放| 中文字幕乱码日本亚洲一区二区| 一卡二卡三卡在线| 九九热精品视频国产| 欧美综合自拍| 亚洲人成无码www久久久| 国产精品久久久久久一区二区三区| 一二三区中文字幕| 欧美黄网免费在线观看| 妖精一区二区三区精品视频 | 精品三级国产| 精品久久久久久久久久中文字幕| 久久午夜电影网| 国产又粗又猛又黄又爽| 久久久久久国产精品美女| 亚洲人成精品久久久| 在线观看免费的av| 亚洲国产精品一区二区www在线| 天天躁日日躁狠狠躁喷水| 国产精品九九久久久久久久| 中文字幕一区二区精品区| 手机在线看片日韩| 欧美视频在线不卡| 羞羞的视频在线看| 欧美精品123| 国产一区二区不卡在线| 久久黄色精品视频| 日韩在线观看免费高清| 欧美亚视频在线中文字幕免费| 天天色综合社区| 激情成人中文字幕| 老司机午夜在线| 免费观看成人在线| 国产一区二区看久久| 亚洲婷婷综合网| 欧美日本高清视频| 成人激情诱惑| 蜜桃传媒一区二区亚洲av| 91精品蜜臀在线一区尤物| 国产精品伦理|