成人免费观看网欧美片-成人免费观看视频-成人免费观看男女羞羞视频-成人免费观看的视频黄页-成人免费高清视频-成人免费福利片在线观看

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > python報的錯誤怎么處理

python報的錯誤怎么處理

來源:千鋒教育
發布人:xqq
時間: 2023-11-11 12:22:18 1699676538

在編寫Python代碼或開發實際應用的項目時,程序報出異常或錯誤是在所難免的,那么我們應該怎樣處理這些異常呢?下面來說一下方法。

1.使用try...except捕捉異常

try:

s=1/0

exceptIndexError:

print('except')

exceptKeyError:

print('Keyerror')

exceptZeroDivisionError:

print('ZeroDivisionError')

try:

s=1/0

except:

print('出現異常')

或有多個異常名稱的格式

try:

s=1/0

except(IndexError,KeyError,ZeroDivisionError),e:

print(e)

2.使用try...except...else語句捕捉異常

當try塊中的代碼沒有異常時,則跳過except塊中的代碼,執行else塊中的代碼

工作原理:

1).如果try代碼塊語句執行發生異常,Python就跳回try,執行第一個匹配該異常的except塊中的代碼

2).如果異常發生在try代碼塊內,沒有匹配的except子句,name異常就會向上傳遞到程序中之前進入的try中,或者轉到這個進程的頂層(這會使python終止當前程序并打印默認的錯誤消息)

3).如果try塊中的代碼執行沒有異常發生,則python將執行else塊中的代碼

3.使用try...finally捕捉異常

當try塊中包含了finally語句,則python一定會在執行完try塊中的代碼之后在執行finally塊中的代碼(無論try塊中的代碼是否發生異常都將執行finally塊中的代碼)

工作原理:

1).如果執行try塊中的代碼時沒有發生異常,則Python會跳轉至finally語句并執行該代碼塊,然后繼續執行程序中finally語句之后的代碼

2).如果執行try塊中的代碼時發生異常,則Python依然會執行finally語句中的代碼塊,但是接著會將異常向上傳遞到上層的try語句或頂層的默認處理器,程序不會繼續執行導致發生異常的語句之后的try塊中的代碼。也就是說,即使發生了異常,finally代碼塊還是會被執行,和except不同的是,finally不會終止異常,而是在finally代碼塊執行后,一直處于發生狀態

4.使用raise拋出異常(手工引發異常)

raise<異常對象>

‘異常對象’表示將引發異常的異常名稱,且異常名稱標識了具體的異常類。raise語句還可指定對異常對象進行初始化的參數,為此需要在異常類的名稱后添加一個逗號以及指定參數(或者由參數構成的一個元組)。一旦執行了raise語句,raise語句后的代碼將不能被執行

raise<異常對象>,<異常信息標識>

例子:

try:

raiseNameError

exceptNameError:

print('拋出一個異常')

5.自定義異常

格式classMyError(Exception):

def__init__(self,value):

self.value=value

def__str__(self):

returnrepr(self.value)

try:

raiseMyError(2*2)

exceptMyErrorase:

print('Myexceotionoccurred,value:',e.value)

6.使用assert語句

用于檢測某個條件表達式是否為真。又稱斷言語句,即assert認為檢測的表達式永遠為真,斷言失敗就會引發AssertionError異常

語法格式:assert<條件判斷表達式>

username='admin'

password='123456'

assertusername=='admin'andpassword=='admin','密碼錯誤!

以上內容為大家介紹了python培訓之報的錯誤怎么處理,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。

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