Python 異常處理

2021-09-24 05:41:24 字數 2446 閱讀 3020

一.關於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...