python基礎之異常處理

2021-08-01 04:17:27 字數 1897 閱讀 3760

--引入

程式執行時,難免出現bug,當出現bug時,使用者可能很難明白那一堆報錯**到底是個什麼東西,為了讓使用者能更清楚知道錯誤原因或者直接對使用者將此錯誤遮蔽,異常處理就應運而生。

--格式

try:              #輸入要執行的**

pass            

except nameerror as err:   #將該型別的錯誤捕獲

pass

except exception as err:    #將所有型別的錯誤捕獲

pass

else:              #如果沒有錯誤,則執行該段**

pass

finally:            #不管是否存在錯誤,都執行該段**

pass

----錯誤種類

異常類只能用來處理指定的異常情況,如果非指定異常則無法處理。當然指定異常類也可以捕獲自己的子類。

例項:

try:

print(res) #

變數res未定義

except nameerror as err:

print('

error: %s

'%err)

except indexerror as err:

print('

index err

')finally:

print('

end')#結果

error: name '

res'

isnot defined

end

在python的異常中,有乙個萬能異常:exception,他可以捕獲任意異常,即:

這樣,對於需要特殊處理或提醒的異常需要先定義,最後定義exception來確保程式正常執行。

----優點

使用try……except捕獲錯誤不僅簡單方便,而且還有乙個巨大的好處,就是可以跨越多層呼叫。

def real(num):

return num/2

def operate01(num):

num=num+2

return real(num)

def operate02(num):

try:

return operate01(num)

except exception as err:

print('

出錯了!!

')print(operate02('

2'))#結果

出錯了!!

none

本例中實際是在operate01中出錯了,而我們可以直接在operate02中進行捕獲。

----主動觸發異常

try:

raise exception('

出錯了!!

')except exception as e:

print(e)#結果

出錯了!!

你可以用raise語句來引發乙個異常。異常/錯誤物件必須有乙個名字,且它們應是error或exception類的子類。

class invalidpage(exception):

def__init__(self,data):

self.data = data

try:

raise invalidpage('

haha

')except invalidpage as a:

print('

%s is a invalid page

'%a.data)

python基礎之異常處理

為了增加程式設計的友好性,避免程式出現bug時將錯誤資訊顯示給使用者,有了異常處理這個好東東.while true num1 input num1 num2 input num2 try num1 int num1 num2 int num2 except exception as ex print...

python基礎之異常處理

1.程式中難免出現錯誤,而錯誤分成兩種 1.語法錯誤 這種錯誤,根本過不了python直譯器的語法檢測,必須在程式執行前就改正 語法錯誤示範一 if 語法錯誤示範二 def test pass 語法錯誤示範三 print haha 2.邏輯錯誤 使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是...

Python基礎學習之異常處理

編寫程式時,如果遇到異常,且沒有被處理,那麼程式自動結束而不會執行後面的 塊。在io輸入輸出,運算時或者多執行緒處理常會遇到異常,這時需要對其進行預處理,異常也是乙個物件。異常處理 基本框架為 try 正常執行,可能遇到錯誤的 塊 except exceptional exception2 exce...