Python之異常(try的用法)

2021-09-24 09:33:32 字數 1811 閱讀 4804

異常:

程式在執行的時候,如果python直譯器遇到乙個錯誤,會停止程式的執行,

並且提示一些錯誤的資訊,這就是異常

我們在程式開發的時候,很難將所有的特殊情況都處理,

通過異常捕獲可以針對

突發事件做集中處理,從而保證程式的健壯性和穩定性

在程式開發中,如果對某些**的執行不能確定(程式語法完全正確)

可以增加try來捕獲異常

try這個關鍵字來捕獲異常

try:嘗試執行的**

except:出現錯誤的處理

1.簡單用法示例

try:

# 不能確定正確執行的**

num = int(input('請輸入乙個數字:'))

except:

print('請輸入正確的整數')

print('*' * 50)

2.提示使用者輸入乙個整數,並使用8來除以使用者輸入的整數

try:

num = int(input('請輸入乙個整數:'))

result = 8 /num

print(result)

# except zerodivisionerror:

# print('0不能做除數')

except valueerror:

print('輸入的值不是合法的整數')

except exception as r:

print('未知錯誤 %s' %(r))

# 沒有預先判斷到的錯誤怎麼辦?

# zerodivisionerror

finally:

# 無論是否有異常,都會執行的**

print('%%%%%%%%%%%%%%%')

# valueerror

一級一級的去找,最終會將異常傳遞到主函式裡

def demo1():

return int(input('請輸入整數:'))

def demo2():

return demo1()

# 函式的錯誤:一級一級的去找,最終會將異常傳遞到主函式裡

# try:

# print(demo2())

# except exception as r:

# print('未知錯誤 %s' %r)

print(demo2())

需求:提示使用者輸入密碼 如果長度小於8 就丟擲異常

def input_passwd():

# 1.提示使用者輸入密碼

pwd = input('請輸入密碼:')

# 2.判斷密碼的長度

if len(pwd) >=8:

return pwd

# 3.如果<8就主動丟擲異常

print('主動丟擲異常')

#a.建立異常物件

ex = exception('密碼長度不夠')

#b.主動丟擲

raise ex

# 注意:只丟擲異常而不捕獲異常 **會出錯

try:

print(input_passwd())

except exception as re:

print(re)

可以理解為提前預言 讓人更好的知道錯誤的原因

def func(num,div):

assert (div !=0),'div不能為0'

return num/div

print(func(10,0))

Swift異常處理的try?與try!

首先要明白丟擲異常後異常的運動 異常被丟擲後,中斷整個處理,異常不斷向外層 範圍 傳遞,直到遇到catch 塊群,會與catch 塊的條件進行匹配,匹配符合則進入此 塊處理。如果遇到沒有條件的catch 那麼直接在這個 裡處理。如果丟擲的異常一直到最外層仍沒有被catch 處理,那麼程式會卡住 後面...

Python中try語句的用法

try f open 該文件不存在 print f.read f.close except oserror print 檔案出錯了t t 輸出 檔案出錯了t t 當然,我們也可以在except exception 加上 as reason將程式檢測到的出錯的資訊輸出,舉例說明 try f open ...

python 常見異常及try語句

1 assertionerror 斷言語句 assert 失敗 2 attributerrrror 嘗試訪問位置的物件屬性 3 indexerror 索引超出系列的範圍 4 keyerror 字典中查詢乙個不存在的關鍵字 注意 使用.get方法即使關鍵字不存在也不會報錯即程式不會垮掉 5 namee...