一.關於python中的異常及處理
程式在執行的時候,如果python直譯器遇到乙個錯誤,會停止程式的執行,並且提示一些錯誤的資訊,這就是異常
我們在程式開發的時候,很難將所有的特殊情況都處理,所以通過異常捕獲可以針對突發事件做集中處理,從而保證程式的健壯性和穩定性
在程式開發中,如果對某些**的執行不能確定(程式語法完全正確),可以增加try來捕獲異常
格式:try:
嘗試執行的**
except 錯誤型別1:
針對錯誤型別1,對應的**處理
except 錯誤型別2:
針對錯誤型別2,對應的**處理
二.try的應用簡單示例
提示使用者輸入乙個整數,使用8來除以使用者輸入的整數
可能出現的異常:1.輸入的不是整數;(valueerror)2,輸入0,0不能做除數(zerodivisionerror)
try:
num = int(input('num:'))
result = 8/num
ptint(result)
except valueerror:
print('請輸入合法的整數')
except exception as r: ##未預知到錯誤
print('未知錯誤 %s' %(r))
finally:
print('***********') ##不論是否錯誤均會執行
num:redhat
請輸入合法的整數
***********
num:0
未知錯誤 division by zero
***********
三.異常的傳遞
def demo1():
return int(input('請輸入整數:'))
def demo2():
return demo1()
print(demo2())
請輸入整數:redhat
traceback (most recent call last):
file "/home/kiosk/pycharmprojects/0529/異常.py", line 22, in print(demo2())
file "/home/kiosk/pycharmprojects/0529/異常.py", line 21, in demo2
return demo1()
file "/home/kiosk/pycharmprojects/0529/異常.py", line 19, in demo1
return int(input('請輸入整數:'))
valueerror: invalid literal for int() with base 10: 'redhat'
由此可知:函式的錯誤是一級一級的去找,最終會將異常傳遞到主函式裡去的
捕捉異常及處理
def demo1():
return int(input('請輸入整數:'))
def demo2():
return demo1()
try:
print(demo2())
except exception as r:
print('未知錯誤 %s' %r)
請輸入整數:redhat
未知錯誤 invalid literal for int() with base 10: 'redhat'
四.主動丟擲異常
提示使用者輸入密碼 如果長度小於8 就丟擲異常
def input_passwd():
pwd = input('請輸入密碼:')
if len(pwd) >=8:
return pwd
print('主動丟擲異常')
ex = exception('密碼長度不夠') ##建立異常的物件
raise ex ##主動丟擲異常
try: ##開始捕獲異常
print(input_passwd())
except exception as re: ##對響應異常進行處理
print(re)
請輸入密碼:redhat
主動丟擲異常
密碼長度不夠
五.斷言
提前預言,讓人更好的知道錯誤原因
def func(num,div):
assert (div != 0)
return num/div
print(func(10,0))
assert (div != 0)
assertionerror
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...