你要偷偷學Python,然後驚豔所有人(異常)

2021-10-10 09:28:25 字數 3289 閱讀 6789

1、異常的概念

2、捕獲異常

2.1:簡單的捕獲異常語法

try

: 嘗試執行的**

except

: 出現錯誤的處理

簡單異常捕獲演練——要求使用者輸入整數

try

:#提示使用者輸入乙個數字

num=

int(

input

("請輸入數字:"))

except

:print

("請輸入正確的數字"

)

2.2:錯誤型別捕獲

try

:#嘗試執行的**

pass

except 錯誤型別1

:#針對錯誤型別1,對應的**處理

except

(錯誤型別2

,錯誤型別3):

#針對錯誤型別2和3,對應的**處理

pass

try

: num=

int(

input

("輸入乙個整數:"))

result=

8/num

print

(result)

except zerodivisionerror:

print

("除數不能為0"

)except valueerror:

print

("請輸入正確的數字"

)

2.3:捕獲未知錯誤

try

: num=

int(

input

("輸入乙個整數:"))

result=

8/num

print

(result)

except zerodivisionerror:

print

("除數不能為0"

)#捕獲未知錯誤

except exception as result:

print

("未知錯誤:%s"

%result)

2.4:異常捕獲完整語法在實際開發中,為了能夠處理複雜的異常情況,完整的異常語法:

try:

#嘗試執行的**

pass

except 錯誤型別1

:#針對錯誤型別1,對應的**處理

pass

except 錯誤型別2

:#針對錯誤型別2,對應的**處理

pass

except

(錯誤型別3

,錯誤型別4):

#針對錯誤型別3,錯誤型別4,對應的**處理

pass

except exception as result:

#列印錯誤資訊

print

(result)

else

:#沒有異常才會執行的**

pass

finally

:#無論是否有異常,都會執行的**

print

("必定會執行的**"

)

try

: num=

int(

input

("請輸入乙個整數:"))

result=

8/num

print

(result)

except zerodivisionerror:

print

("除數不能為0"

)except valueerror:

print

("輸入正確的整數"

)else

:pass

finally

:print

("finally中的**"

)

2.5:異常的傳遞需求1.定義函式demo1()提示使用者輸入乙個整數並且返回

2.定義函式demo2()呼叫demo1()

3.在主程式中呼叫demo2()

def

demo1()

:return

int(

input

("請輸入乙個整數:"))

defdemo2()

:return demo1(

)try

:print

(demo2())

except valueerror:

print

("請輸入正確的整數"

)except exception as result:

print

("未知錯誤%s"

%result)

3、丟擲異常3.1:應用場景例項

提示使用者輸入密碼,如果長度少於8,丟擲異常

注意:3.2:丟擲異常

需求:1.定義input_password函式,提示使用者輸入密碼

2.如果使用者輸入長度<8,丟擲異常

3.如果使用者長度》=8,返回輸入的密碼

def

input_password()

: password=

input

("請輸入密碼:")if

len(password)

>=8:

return password

print

("主動丟擲異常"

)#建立異常物件

ex=exception(

"密碼過短"

)#主動丟擲異常

raise ex

try:

print

(input_password())

except exception as result:

print

(result)

#結果請輸入密碼:

123主動丟擲異常

密碼過短

你要偷偷學Python,然後驚豔所有人(元組)

定義乙個簡單的元組 info tuple zhangsan 18 1.75 print info tuple print info tuple 0 print info tuple 1 print info tuple 2 結果 zhangsan 18 1.75 zhangsan 181.75定義乙...

你要悄悄變優秀,然後驚豔所有人

新年新氣象 距離 2020 年的餘額已經不足乙個月了 移動開發平台 mpaas 在控制台介面上 也進行了全新的改版 精細的打磨 只為能夠為廣大開發者使用者 提供清爽流暢的使用者體驗 和更明朗的元件使用流程 基礎元件 mcdp 智慧型投放 控制台主介面進行優化,通過 banner 內容方陣 的方式,減...

我在偷偷學Python的第二十三天(物件導向)

python從設計之初就已經是一門物件導向的語言,正因為如此,在python中建立乙個類和物件是很容易的。本章節我們將詳細介紹python的物件導向程式設計。如果你以前沒有接觸過物件導向的程式語言,那你可能需要先了解一些物件導向語言的一些基本特徵,在頭腦裡頭形成乙個基本的物件導向的概念,這樣有助於你...