您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python中的try excpet BaseException怎么使用”,在日常操作中,相信很多人在Python中的try excpet BaseException怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python中的try excpet BaseException怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
try ...except 是最常見的捕獲處理異常的結構,其主要作用是將可能出現問題的代碼塊用try :包裹起來,不至于出現錯誤讓程序崩潰,無法執行下去
常見的try ...excpet 的結構有三種
try: pass except BaseException as e : 異常處理模塊
try 中包含著可能發生異常的程序代碼,except 塊中包含著,發生異常后,用來捕獲異常和處理異常代碼
如果在try包含的模塊中發生了異常則會跳轉到 except的模塊中,去執行 except中的代碼,excpet中的模塊會處理異常,如果沒有發生異常,則程序不會執行except中的代碼。
書寫了一段用于測試會報錯的代碼塊
try: test = eval(str(input("請輸入一個字符串: "))) tests = test + "This is a piece of test code" except BaseException as e: print("出現的錯誤可能是%s"%e) print("這是一段測試輸出")
錯誤提示: unsupported operand type(s) for +: 'int' and 'str'
不支持 :數據類型:“int”和“str”拼接(+)操作
一段正確的代碼輸入:
try: test = str(input("請輸入一個字符串: ")) tests = test + " "+"This is a piece of test code" print("輸入正確的內容則會執行的代碼塊:",tests) except BaseException as e: print("出現的錯誤可能是%s"%e) print("這是一段測試輸出")
字是不允許和字符串拼接的只有把數字轉換成字符串才允許拼接。
這是一段沒有用try except:處理的有問題代碼塊
如果不用try...except... :對可能出現的代碼進行包裹,程序就會崩潰,影響后續代碼進行
test = int(input("請輸入一個字符串: ")) tests = test + " "+"This is a piece of test code" print("這是一段測試輸出")
多個except 語句、
如果寫入的代碼出錯類型不太清楚,可以多寫幾個捕獲異常語句,記得在最后加上一個except BaseException 用來做兜底操作(假如出現的錯誤都不是你用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('導入包失敗') except KeyError : print('在字典中找不到指定的鍵') except ImportError : print("索引時沒有找到指定序列") #兜底捕獲錯誤,BaseException 是所有錯誤的父類可以說是包含了所有常見的錯誤 except BaseException as e: print(arr["mayuanyuan"]) print(e)
上述操作和下面的操作表達的功能是一致的,你也可以將所有可能出現的異常寫在一個 except 中,異常和異常之間 用逗號隔開
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 中包含的代碼塊沒有異常,則會接著執行else 中的語句,不會去執行 excpet中的代碼塊(這段代碼只有try中的代碼塊拋出異常時,則會使用except去捕獲)
try: arr = int(input("請輸入一個整數: ")) except BaseException as e: print(e) else: arrs = arr + 111 print(arrs) print("測試結束")
異常處理模塊就講到到這里了,我要談到關于異常處理模塊try except實際用途,有的博主會談一些簡單的案例,可能有的同學對這個模塊認識的并不是很深入,為什么呢?
try: 4 /0 except BaseException as e: print(e) 報錯: division by zero
明明你知道是,除零操作,你為什么不改呢?有的錯誤你明明知道什么?故意把錯誤寫出來,難道就是為了測試錯誤嗎?
所以經過我的考慮給了大家一個好玩的
登錄密碼案例的操作,如果密碼輸入正確,則會提示登錄成功,錯誤的話則會繼續輸入,錯誤輸入大于三次時就會提示:"輸入錯誤次數過多密碼已鎖定“
i = 0 while True: if i == 3: print("輸入錯誤次數過多密碼已鎖定") break try: Divisor = str(input("請輸入一個整數: ")) # A = Divisor/1 # B = A+1 #如果輸出有誤就不會執行加1操作直接跳到 except當中 # print("結果是:",B) mima = 'ma123' if Divisor == mima: i = i+1 print("登錄成功,輸入%s次"%i) break except: i = i+1 print("密碼輸入錯誤請重新輸入:") print("登陸了%s次"%i)
這是關于“try... except... esle ”具有實際用途的一段代碼
提示你輸入密碼,然后根據密碼的內容進行適當的加密,拼接
md5 = [] try: Divisor = str(input("請輸入你的密碼: ")) except: print("密碼輸入錯誤") else: for i in Divisor: if i == 1: i = "a" else: i == 2 i = "b" md5.append(i) MD5 = Divisor + md5[0] print("經過加密后的數據%s"%MD5)
到此,關于“Python中的try excpet BaseException怎么使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。