目錄
3. 異常的傳遞
4. 丟擲raise異常
程式開發時,很難將所有的特殊情況都處理的面面俱到,通過異常捕獲可以針對突發事件做集中的處理,從而保證程式的穩定性和健壯性
try:
嘗試執行的**
except:
出現錯誤的處理
簡單異常捕獲演練 —— 要求使用者輸入整數try:
int(input("請輸入乙個整數:"))
except:
print("請輸入的不是乙個整數")
try:
# 嘗試執行的**
pass
except 錯誤型別1:
# 針對錯誤型別1,對應的**處理
pass
except (錯誤型別2, 錯誤型別3):
# 針對錯誤型別2 和 3,對應的**處理
pass
except exception as result:
print("未知錯誤 %s" % result)
異常型別捕獲演練 —— 要求使用者輸入整數
需求
提示使用者輸入乙個整數
使用8
除以使用者輸入的整數並且輸出
try:
num = int(input("請輸入乙個整數:"))
result = 8 / num
except valueerror:
print("請輸入正確的整數")
except zerodivisionerror:
print("除0錯誤")
捕獲未知錯誤
語法如下:
except exception as result:
print("未知錯誤 %s" % result)
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("無論是否有異常,都會執行的**")
try:
num = int(input("輸入乙個整數:"))
result = 8 / num
print(result)
except valueerror:
print("輸入正確的整數")
except zerodivisionerror:
print("除0錯誤")
except exception as result:
print("未知錯誤 %s " % result)
else:
print("正常執行")
finally:
print("總是會執行的**")
print("-" * 40)
需求
定義函式demo1()
提示使用者輸入乙個整數並且返回定義函式demo2()
呼叫demo1()
在主程式中呼叫demo2()
def demo1():
return int(input("請輸入乙個整數:"))
def demo2():
return demo1()
try:
print(demo2())
except valueerror:
print("輸入正確的整數")
except exception as result:
print("未知錯誤 %s" % result)
示例
注意
需求
def input_password():
pwd = input("輸入密碼:")
if len(pwd) >= 8:
return pwd
ex = exception("密碼長度不夠")
raise ex
try:
print(input_password())
except exception as result:
print(result)
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...