日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

异常处理python 空气质量问题_python的异常处理

發布時間:2025/3/15 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 异常处理python 空气质量问题_python的异常处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

異常處理

什么是異常?

首先要清楚,什么是異常,異常就是程序運行時發生錯誤的信號(在程序出現錯誤時,則會產生一個異常,若程序沒有處理它,則會拋出該異常,程序的運行也隨之終止),在python中,錯誤觸發的異常如下

異常是由錯誤觸發的,那么錯誤有哪些情況呢?

1.語法錯誤:

#語法錯誤示范一else#語法錯誤示范二def test: pass#語法錯誤示范三class Cal pass#語法錯誤示范四print(hello1.語法錯誤(這種錯誤,根本過不了python解釋器的語法檢測,必須在程序執行前就改正)View Code

2.邏輯錯誤

# res=1/0# l=[1,2]# l[10]# age=input('>>: ')# age=int(age)# res=1/0# l=[]# l[10000]# dic={}# dic['name']# class Foo:# pass# Foo.x2.邏輯錯誤示范View Code

異常的種類

在平時編碼過程中,常見的異常有以下這些:

AttributeError 試圖訪問一個對象沒有的樹形,比如foo.x,但是foo沒有屬性xIOError 輸入/輸出異常;基本上是無法打開文件ImportError 無法引入模塊或包;基本上是路徑問題或名稱錯誤IndentationError 語法錯誤(的子類) ;代碼沒有正確對齊IndexError 下標索引超出序列邊界,比如當x只有三個元素,卻試圖訪問x[5]KeyError 試圖訪問字典里不存在的鍵KeyboardInterrupt Ctrl+C被按下NameError 使用一個還未被賦予對象的變量SyntaxError Python代碼非法,代碼不能編譯(個人認為這是語法錯誤,寫錯了)TypeError 傳入對象類型與要求的不符合UnboundLocalError 試圖訪問一個還未被設置的局部變量,基本上是由于另有一個同名的全局變量,導致你以為正在訪問它ValueError 傳入一個調用者不期望的值,即使值的類型是正確的

當然,還有其他異常,這里就不做過多演示。出現異常,我們肯定想到要處理,不然程序就直接報錯崩潰了。其實我們一直在處理異常,只是沒有發現,比如要判斷你輸入的內容是不是數字,我們以前是這么判斷的:

age = input('請輸入你的年齡: ').strip()if age.isdigit(): int(age) #這是主邏輯elif age.isspace(): print('輸入的是空格!')elif len(age) == 0 : print('沒有輸入內容')else: print('其他異常!')>>>請輸入你的年齡: dasdasf>>>其他異常!

在這里if就是在處理異常,但是,如果我還有其他程序也要運行,那就要寫成這樣了:

age = input('請輸入你的年齡: ').strip()if age.isdigit(): int(age) #這是主邏輯elif age.isspace(): print('輸入的是空格!')elif len(age) == 0 : print('沒有輸入內容')else: print('其他異常!') num = input('請輸入你的編號: ').strip()if num.isdigit(): int(num) #這是主邏輯elif num.isspace(): print('輸入的是空格!')elif len(num) == 0 : print('沒有輸入內容')else: print('其他異常!')View Code

這時候,你會發現,程序寫的很長,可讀性差,如果有十個這樣的輸入,那這個程序就沒法看了,這時候,python提供了一種異常處理的方法try...except...

part1 基本語法

try: 被執行的邏輯except 異常名稱: 如果try中的邏輯出現異常,就執行這段邏輯

現在用這套方法來處理上面的異常,看看效果怎么樣:

try: age = input('請輸入你的年齡: ').strip() int(age) num = input('請輸入你的編號: ').strip() int(num)except ValueError as e: #根據報錯知道錯誤類型是ValueError print(e)>>>請輸入你的年齡: 23>>>請輸入你的編號: dwqd>>>invalid literal for int() with base 10: 'dwqd'View Code

這樣一看代碼簡潔了很多啊,效果很完美

part2 異常只能用來處理指定的異常情況,其他情況不會處理

我們可以試一下,把錯誤類型改成別的,看看會怎樣:

try: age = input('請輸入你的年齡: ').strip() int(age) num = input('請輸入你的編號: ').strip() int(num)except IndexError as e: print(e)>>>請輸入你的年齡: ffqTraceback (most recent call last): File "C:/Users/pengfy/PycharmProjects/untitled/錯誤與異常/錯誤與異常.py

總結

以上是生活随笔為你收集整理的异常处理python 空气质量问题_python的异常处理的全部內容,希望文章能夠幫你解決所遇到的問題。

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