什麼是錯誤
錯誤是指由於邏輯或語法等導致程式無法正常執行的問題
特點 無法預知
什麼是異常
異常是程式出錯時標識的一種狀態.當導常發生時,程式不會再
向下執行,而轉去呼叫此函式的地方待處理此錯誤並恢復為正常狀態
作用: 用作訊號通知,通知上層呼叫者有錯誤產生需要處理
程式有兩種狀態:
正常狀態/異常狀態
try-except語句
try-finally語句
try-except語句的語法
try:
可能觸發異常的語句
except 錯誤型別1 [as 變數1]:
異常處理語句1
except 錯誤型別2 [as 變數2]:
異常處理語句2
except (錯誤型別3, 錯誤型別4) [as 變數3]:
異常處理語句3
...except:
異常處理語句other
else:
末發生異常的語句
finally:
最終語句
作用: 償試捕獲錯誤,得到異常通知,將程式由異常狀態轉換為正常狀態並
繼續執行
說明: as 子句是用於繫結錯誤物件的變數,可以省略
except 子句可以有乙個或多個,但至少要有乙個
else 子句最多只能有乙個.也可以省略
finally子句最多只能有乙個.也可以省略
(錯誤型別,可能後期補充)
try-finally 語句
語法 try:
可能觸發異常的語句
finally:
最終語句
說明: finally子句不可以省略
一定不存在except子句
作用: 通常用try-finally語句來做觸發異常時必須要處理的事情
無論異常是否發生,finally子句都會被執行
注: try-finally語句不會改變程式的(正常/異常)狀態
在這裡插入**片
作用:
觸發乙個錯誤,讓程式進入異常狀態
傳送錯誤通知給呼叫者
語法: raise 異常型別
或 raise 異常物件
或 raise # 重新觸發上一次異常
示例: raise valueerror #
raise valueerror("???????")
示例見:
raise.py
raise2.py
語法:
assert 真值表示式, 錯誤資料(通常是字串)
作用: 當真值表示式為false時,用錯誤資料建立乙個
assertionerror型別的錯誤,並進入異常狀態
通常用來故意製造乙個錯誤
等同於:
if bool(真值表示式) == false:
raise assertionerror(錯誤資料)
異常中的語句小結:
try-except 語句
用於捕獲(接收)錯誤通知,把異常狀態轉為正常狀態
try-finally語句
用於執行在任何狀態(正常/異常)都必須要執行的語句
raise 語句
觸發錯誤(傳送錯誤通知),讓程式進入異常狀態
assert 語句
根據條件觸發assertionerror型別的錯誤通知
什麼是迭代器
迭代器是訪問可迭代物件的工具
迭代器是指iter(obj) 函式返回的物件(例項)
迭代器可以用next(it) 函式獲取可迭代物件的資料
迭代器函式iter和next
iter(iterable) 從可迭代物件中獲取乙個迭代器,iterable
必須是能提供乙個迭代器的可迭代物件
next(iterator) 從迭代器iterator中獲取下乙個記錄,如
果無法獲取下一條記錄,則觸發stopiteration異常
說明:迭代器只能往前取值,不會後退
用iter函式可以返回乙個可迭代物件的迭代器
示例:
l = [2, 3, 5, 7]
it = iter(l) # 從l物件中獲取乙個迭代器
print(next(it)) # 2
print(next(it)) # 3
print(next(it)) # 5
print(next(it)) # 7
print(next(it)) # stopiteration 異常
# 用迭代器訪問 range() 函式返回的整數序列生成器
it = iter(range(1, 10, 3))
next(it) # 1
next(it) # 4
next(it) # 7
next(it) # stopiteration
python異常處理 Python 異常處理
使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...
python異常舉例 Python異常處理
1.1異常問題舉例 例一 i input 請輸入數字 請輸入數字 0 print i print 5 int i traceback most recent call last file line 1,in zerodivisionerror division by zero 上述 的報錯是除零的錯...
python異常處理
當你的程式中出現異常情況時就需要異常處理。比如當你開啟乙個不存在的檔案時。當你的程式中有一些無效的語句時,python會提示你有錯誤存在。下面是乙個拼寫錯誤的例子,print寫成了print。python是大小寫敏感的,因此python將引發乙個錯誤 print hello world file l...