欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中try excpet BaseException(異常處理捕獲)的使用

 更新時(shí)間:2023年03月28日 14:19:53   作者:算力鬼才信  
本文主要介紹了Python中try excpet BaseException(異常處理捕獲)的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

try ...except 是最常見的捕獲處理異常的結(jié)構(gòu),其主要作用是將可能出現(xiàn)問題的代碼塊用try :包裹起來,不至于出現(xiàn)錯(cuò)誤讓程序崩潰,無(wú)法執(zhí)行下去

常見的try ...excpet 的結(jié)構(gòu)有三種

try:
     pass
except BaseException as e :
    異常處理模塊

try 中包含著可能發(fā)生異常的程序代碼,except 塊中包含著,發(fā)生異常后,用來捕獲異常和處理異常代碼

如果在try包含的模塊中發(fā)生了異常則會(huì)跳轉(zhuǎn)到 except的模塊中,去執(zhí)行 except中的代碼,excpet中的模塊會(huì)處理異常,如果沒有發(fā)生異常,則程序不會(huì)執(zhí)行except中的代碼。

書寫了一段用于測(cè)試會(huì)報(bào)錯(cuò)的代碼塊

try:
    test = eval(str(input("請(qǐng)輸入一個(gè)字符串: ")))
    tests = test + "This is a piece of test code"
except BaseException as e:
    print("出現(xiàn)的錯(cuò)誤可能是%s"%e)
print("這是一段測(cè)試輸出")

錯(cuò)誤提示: unsupported operand type(s) for +: 'int' and 'str'

不支持 :數(shù)據(jù)類型:“int”和“str”拼接(+)操作

一段正確的代碼輸入:

try:
    test = str(input("請(qǐng)輸入一個(gè)字符串: "))
    tests = test + " "+"This is a piece of test code"
    print("輸入正確的內(nèi)容則會(huì)執(zhí)行的代碼塊:",tests)
except BaseException as e:
    print("出現(xiàn)的錯(cuò)誤可能是%s"%e)
print("這是一段測(cè)試輸出")

字是不允許和字符串拼接的只有把數(shù)字轉(zhuǎn)換成字符串才允許拼接。

這是一段沒有用try except:處理的有問題代碼塊

如果不用try...except... :對(duì)可能出現(xiàn)的代碼進(jìn)行包裹,程序就會(huì)崩潰,影響后續(xù)代碼進(jìn)行

test = int(input("請(qǐng)輸入一個(gè)字符串: "))
tests = test + " "+"This is a piece of test code"
print("這是一段測(cè)試輸出")

多個(gè)except 語(yǔ)句、

如果寫入的代碼出錯(cuò)類型不太清楚,可以多寫幾個(gè)捕獲異常語(yǔ)句,記得在最后加上一個(gè)except BaseException 用來做兜底操作(假如出現(xiàn)的錯(cuò)誤都不是你用except 捕獲的異常你可以用它來兜底),它是所有異常的父類包含了所有常見的異常

arr = {
    "xiaomi":"123",
    "xiaozhang":"456",
    "xiaodede":"7,8,9"
}
arrs = (1,2,3,4,5)
 
try:
    3 / 0
 
    print(arrs[6])
except IndexError :
    print('導(dǎo)入包失敗')
except KeyError :
    print('在字典中找不到指定的鍵')
except ImportError :
    print("索引時(shí)沒有找到指定序列")
#兜底捕獲錯(cuò)誤,BaseException 是所有錯(cuò)誤的父類可以說是包含了所有常見的錯(cuò)誤
except BaseException as e:
    print(arr["mayuanyuan"])
    print(e)

上述操作和下面的操作表達(dá)的功能是一致的,你也可以將所有可能出現(xiàn)的異常寫在一個(gè) except 中,異常和異常之間 用逗號(hào)隔開

arr = (1,2,3,4,5)
try:
    int("3.1415926")
    print(add)  # 未定義
    print(arr[6]) #超出索引
 
except (IndexError,NameError,ValueError)as e:
    print(e)

3 try... except... esle

如果try 中包含的代碼塊沒有異常,則會(huì)接著執(zhí)行else 中的語(yǔ)句,不會(huì)去執(zhí)行 excpet中的代碼塊(這段代碼只有try中的代碼塊拋出異常時(shí),則會(huì)使用except去捕獲)

try:
    arr = int(input("請(qǐng)輸入一個(gè)整數(shù): "))
except BaseException as e:
    print(e)
else:
    arrs = arr + 111
    print(arrs)
print("測(cè)試結(jié)束")

異常處理模塊就講到到這里了,我要談到關(guān)于異常處理模塊try except實(shí)際用途,有的博主會(huì)談一些簡(jiǎn)單的案例,可能有的同學(xué)對(duì)這個(gè)模塊認(rèn)識(shí)的并不是很深入,為什么呢?

try:
   4 /0
except BaseException as e:
    print(e)
報(bào)錯(cuò): division by zero

明明你知道是,除零操作,你為什么不改呢?有的錯(cuò)誤你明明知道什么?故意把錯(cuò)誤寫出來,難道就是為了測(cè)試錯(cuò)誤嗎?

所以經(jīng)過我的考慮給了大家一個(gè)好玩的

登錄密碼案例的操作,如果密碼輸入正確,則會(huì)提示登錄成功,錯(cuò)誤的話則會(huì)繼續(xù)輸入,錯(cuò)誤輸入大于三次時(shí)就會(huì)提示:"輸入錯(cuò)誤次數(shù)過多密碼已鎖定“

i = 0
while True:
    if i == 3:
        print("輸入錯(cuò)誤次數(shù)過多密碼已鎖定")
        break
    try:
        Divisor = str(input("請(qǐng)輸入一個(gè)整數(shù): "))
        # A = Divisor/1
        # B = A+1   #如果輸出有誤就不會(huì)執(zhí)行加1操作直接跳到 except當(dāng)中
        # print("結(jié)果是:",B)
        mima = 'ma123'
        if Divisor == mima:
            i = i+1
            print("登錄成功,輸入%s次"%i)
            break
    except:
        i = i+1
        print("密碼輸入錯(cuò)誤請(qǐng)重新輸入:")
print("登陸了%s次"%i)

這是關(guān)于“try... except... esle ”具有實(shí)際用途的一段代碼

提示你輸入密碼,然后根據(jù)密碼的內(nèi)容進(jìn)行適當(dāng)?shù)募用?,拼?/p>

md5 = []
try:
    Divisor = str(input("請(qǐng)輸入你的密碼: "))
 
except:
    print("密碼輸入錯(cuò)誤")
else:
    for i  in  Divisor:
        if i == 1:
            i = "a"
        else:
            i == 2
            i = "b"
    md5.append(i)
    MD5 = Divisor + md5[0]
 
 
 
print("經(jīng)過加密后的數(shù)據(jù)%s"%MD5)

到此這篇關(guān)于Python中try excpet BaseException(異常處理捕獲)的使用的文章就介紹到這了,更多相關(guān)Python 異常處理捕獲內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Python實(shí)現(xiàn)橋接模式的代碼詳解

    使用Python實(shí)現(xiàn)橋接模式的代碼詳解

    橋接模式是一種結(jié)構(gòu)型設(shè)計(jì)模式,它將抽象部分與其實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立地變化,本文將給大家介紹如何使用Python實(shí)現(xiàn)橋接模式,需要的朋友可以參考下
    2024-02-02
  • 學(xué)習(xí)python之編寫簡(jiǎn)單乘法口訣表實(shí)現(xiàn)代碼

    學(xué)習(xí)python之編寫簡(jiǎn)單乘法口訣表實(shí)現(xiàn)代碼

    這篇文章主要介紹了學(xué)習(xí)python之編寫簡(jiǎn)單乘法口訣表實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2016-02-02
  • 淺談numpy庫(kù)的常用基本操作方法

    淺談numpy庫(kù)的常用基本操作方法

    下面小編就為大家分享一篇淺談numpy庫(kù)的常用基本操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 學(xué)習(xí)python如何處理需要登錄的網(wǎng)站步驟

    學(xué)習(xí)python如何處理需要登錄的網(wǎng)站步驟

    這篇文章主要為大家介紹了python如何處理需要登錄的網(wǎng)站步驟學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • 利用python腳本如何簡(jiǎn)化jar操作命令

    利用python腳本如何簡(jiǎn)化jar操作命令

    這篇文章主要給大家介紹了關(guān)于利用python腳本如何簡(jiǎn)化jar操作命令的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • Python可視化函數(shù)plt.scatter詳解

    Python可視化函數(shù)plt.scatter詳解

    這篇文章主要介紹了Python可視化函數(shù)plt.scatter詳解,?關(guān)于matplotlib的scatter函數(shù)有許多活動(dòng)參數(shù),如果不專門注解,是無(wú)法掌握精髓的,本文專門針對(duì)scatter的參數(shù)和調(diào)用說起,并配有若干案例,需要的朋友可以參考下
    2023-04-04
  • 在Linux下使用Python的matplotlib繪制數(shù)據(jù)圖的教程

    在Linux下使用Python的matplotlib繪制數(shù)據(jù)圖的教程

    這篇文章主要介紹了在Linux下使用Python的matplotlib繪制數(shù)據(jù)圖的教程,matplotlib基于Numpy進(jìn)行科學(xué)計(jì)算上的延伸,需要的朋友可以參考下
    2015-06-06
  • python和php哪個(gè)更適合寫爬蟲

    python和php哪個(gè)更適合寫爬蟲

    這篇文章主要介紹了python和php哪個(gè)更適合寫爬蟲的相關(guān)對(duì)比知識(shí)點(diǎn),需要的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • python編寫圖書管理系統(tǒng)

    python編寫圖書管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python編寫圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 一篇文章帶你了解Python中的裝飾器

    一篇文章帶你了解Python中的裝飾器

    Python中的裝飾器是你進(jìn)入Python大門的一道坎,不管你跨不跨過去它都在那里,下面這篇文章主要給大家介紹了關(guān)于Python中裝飾器的相關(guān)資料,需要的朋友可以參考下
    2022-03-03

最新評(píng)論