日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python入门程序异常_Python入门基础(10)_异常_1

發布時間:2025/3/21 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python入门程序异常_Python入门基础(10)_异常_1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近有點忙,到現在快一個月沒寫了,罪過罪過,繼續學習

異常:python程序在運行時,如果python解釋器遇到一個錯誤,那么程序就會停止執行,并且會提示一些錯誤信息,這就是異常.

拋出異常:程序停止執行并提示錯誤信息的動作就是拋出異常.

比如下面這個例子:

num=int(input("請輸入一個數字:"))print("報錯了吧!弟弟")

如果我輸入的是一個正確的數字,那么會得到下面的結果:

請輸入一個數字:1報錯了吧!弟弟

但是如果我輸入非數字,將會得到下面的結果:

請輸入一個數字:A

Traceback (most recent call last):

File"C:/Users/users/PycharmProjects/study/zixue_good/socket_py/raise_study.py", line 1, in num=int(input("請輸入一個數字:"))

ValueError: invalid literalfor int() with base 10: 'A'

你會發現程序不止發生錯誤,就連我的"報錯了吧!弟弟"都沒有輸出來.在程序的開發過程中,很多代碼我們是不能確定是否正確;也就是說,在某些代碼里面可能會存在異常(如果你是大佬,毫無錯誤,當我沒說過),這時候,我們就需要捕獲異常.

1.捕獲異常

捕獲異常的語法:

try:

嘗試執行的代碼(可能有錯誤的代碼塊)

except:

出現錯誤的處理(try里面的代碼出現錯誤之后給點提示)

繼續看上面的那個例子,現在代碼改寫成這樣了:

try:

num=int(input("請輸入一個數字:"))except:print("輸入數字啊!豬")print("報錯了吧!弟弟")

輸入一個正確的數字,except里面的代碼并不會執行,因為我的try里面并沒有錯誤:

請輸入一個數字:1報錯了吧!弟弟

如果我輸入一個非數字的字符,try里面出現錯誤,except就會執行,后面的print也會繼續執行:

請輸入一個數字:啊

輸入數字啊!豬

報錯了吧!弟弟

2.錯誤類型捕獲

程序在執行的過程中,會有各種各樣的類型錯誤,比如(

BaseException

所有異常的基類

SystemExit

解釋器請求退出

KeyboardInterrupt

用戶中斷執行(通常是輸入^C)

Exception

常規錯誤的基類

)這些類型錯誤,還有很多種類型錯誤,感興趣的可以去菜鳥教程看一下,這里就不一一列舉了.語法如下:

try:

#嘗試執行的代碼塊

pass

except 錯誤類型1:

#針對錯誤類型1,對應的代碼處理;

except (錯誤類型2,錯誤類型3):

#針對錯誤類型2和3,對應的代碼處理;

except Exception as result:

print("未知錯誤%s"%result)

舉個例子吧:

try:

num= int(input("請輸入整數:"))

result= 8 /numprint(result)exceptValueError:print("請輸入正確的整數")exceptZeroDivisionError:print("除 0 錯誤")

當我執行了上面的代碼之后呢

如果我輸入的是非數字字符,就會得到如下結果:

請輸入整數:啊

請輸入正確的整數

如果我輸入0,就會得到如下結果:

請輸入整數:0

除 0 錯誤

如果我輸入正確的數字,就會得到如下結果:

請輸入整數:2

4.0

但是在實際開發中,為了能夠處理復雜的異常情況我們通常會使用下面這種寫法:

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("無論是否有異常,都會執行的代碼")

else 只有在沒有異常時才會執行的代碼

finally 無論是否有異常,都會執行的代碼

try:

num= int(input("請輸入整數:"))

result= 8 /numprint(result)exceptValueError:print("請輸入正確的整數")exceptZeroDivisionError:print("除 0 錯誤")exceptException as result:print("未知錯誤 %s" %result)else:print("正常執行")finally:print("執行完成,但是不保證正確")

上面例子執行之后得到如下輸出結果:

請輸入整數:4

2.0正常執行

執行完成,但是不保證正確

總結

以上是生活随笔為你收集整理的python入门程序异常_Python入门基础(10)_异常_1的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。