DW學習 Python基礎03(異常處理)

2021-10-08 11:34:22 字數 4126 閱讀 5005

3 try-except-else語句

4 try-except-finally語句

5 自定義異常:raise語句

6 習題

try

: 可能發生異常的**

except:

如果出現異常執行的**

注意:使用except而不帶任何異常型別,這不是乙個很好的方式,我們不能通過該程式識別出具體的異常資訊,因為它捕獲所有的異常。

try

: 可能發生異常的**

except 異常型別1(exception) as 變數名:

# exception是任何異常型別

出現異常1後執行的**

except 異常型別2(exception) as 變數名:

# exception是任何異常型別

出現異常2後執行的**..

....

注意:使用多個except**塊時,必須堅持對其規範排序,要從最具針對性的異常到最通用的異常。

【例子】

try

: a =

int(

input

('請輸入除數(分母):'))

b =int(

input

('請輸入被除數(分子):'))

print

(b/a)

print

('異常檢測出來後,繼續執行的**'

)except zerodivisionerror as error:

print

('執行錯誤\n原因是:'

+str

(error)

)except valueerror as error:

print

('執行錯誤\n原因是:'

+str

(error)

)'''

請輸入除數(分母):0

請輸入被除數(分子):9

執行錯誤

原因是:division by zero

-------------------------

請輸入除數(分母):a

執行錯誤

原因是:invalid literal for int() with base 10: 'a'

'''

注意:如果try子句執行過程**現異常,那麼try子句後面的**不會再執行。

try

: 可能發生異常的**

except (異常型別1

,異常型別2,.

..) as 變數名:

捕獲其中乙個異常型別後執行的**

注意:如果不是指定的異常型別還是會報錯。

【例子】

try

: a =

int(

input

('請輸入除數(分母):'))

b =int(

input

('請輸入被除數(分子):'))

print

(b/a)

print

('異常檢測出來後,繼續執行的**'

)except

(zerodivisionerror,valueerror)

as error:

print

('執行錯誤\n原因是:'

+str

(error)

)'''

請輸入除數(分母):a

執行錯誤

原因是:invalid literal for int() with base 10: 'a'

'''

try

: 檢測範圍

except 異常型別 as 變數名:

出現異常後的處理**

else

: 如果沒有異常執行這塊**

【例子】

try

: a =

int(

input

('請輸入除數(分母):'))

b =int(

input

('請輸入被除數(分子):'))

print

(b/a)

except

(zerodivisionerror,valueerror)

as error:

print

('執行錯誤\n原因是:'

+str

(error)

)else

:print

('沒有異常,正確執行'

)'''

請輸入除數(分母):2

請輸入被除數(分子):4

2.0沒有異常,正確執行

'''

try

: 檢測範圍

except 異常型別 as 變數名:

出現異常後的處理**

finally

: 無論如何都會被執行的**

【例子】

try

: a =

int(

input

('請輸入除數(分母):'))

b =int(

input

('請輸入被除數(分子):'))

print

(b/a)

except

(zerodivisionerror,valueerror)

as error:

print

('執行錯誤\n原因是:'

+str

(error)

)else

:print

('沒有異常,正確執行'

)finally

:print

('無論如何都會執行我'

)'''

請輸入除數(分母):0

請輸入被除數(分子):2

執行錯誤

原因是:division by zero

無論如何都會執行我

'''

try

: a=

102if a>

100:

raise exception(

'數值大於100'

)except exception as error:

print

(error,

type

(error)

)# 數值大於100

import random

true_num=random.randint(0,

100)

print

('猜測乙個0-100之間的整數'

)try

:for i in

range(1

,101):

print

(f'第次猜,'

,end='')

user_num=

int(

input

('請輸入乙個整型數字:'))

if user_num > true_num:

print

('太大'

)if user_num < true_num:

print

('太小'

)if user_num == true_num:

print

(f'恭喜你猜到了這個數是'

)except valueerror:

print

('輸入無效'

)'''

猜測乙個0-100之間的整數

第1次猜,請輸入乙個整型數字:50

恭喜你猜到了這個數是50

--------------------------------

猜測乙個0-100之間的整數

第1次猜,請輸入乙個整型數字:a

輸入無效

'''

python基礎學習03

的驗顏值真的很重要 1 對於if語句另外乙個使用的方法 m a if a2 while和else語句連用。可以用來比較準確的來判斷while迴圈的次數,以及他的執 況 3 對於for迴圈的迭代過程 for i in wen 之後可以一次輸出相應的字母 4 通過while輸出字串的相應字母 i 0wh...

python基礎學習03

概述 2.執行py程式方式 2種 1.點選python應用程式,這是python的互動器,可以直接寫 程式不能永久儲存,主要用於簡單的語法測試相關 2.開啟cmd cd 到python所在資料夾,通過命令列執行寫好的python檔案 字尾.py python 檔案位置 檔名 3.整合開發環境pych...

DW學習 Python基礎11(魔法方法)

2 魔法運算 算數運算 3增量賦值運算子 4一元運算子 6 習題 解釋 當物件呼叫類時,init self 會自動被觸發,python會自動將當前呼叫的空物件傳給self引數。過程 注意 init self 不能返回什麼值,返回的是none。class rec def init self,x,y s...