python 什麼是異常處理以及異常處理的兩種方式

2021-08-28 03:48:05 字數 1337 閱讀 8542

# attributeerror 試圖訪問乙個物件沒有的樹形,比如foo.x,但是foo沒有屬性x

# ioerror 輸入/輸出異常;基本上是無法開啟檔案

# importerror 無法引入模組或包;基本上是路徑問題或名稱錯誤

# indentationerror 語法錯誤(的子類) ;**沒有正確對齊

# indexerror 下標索引超出序列邊界,比如當x只有三個元素,卻試圖訪問x[5]

# keyerror 試圖訪問字典裡不存在的鍵

# keyboardinterrupt ctrl+c 被按下

# nameerror 使用乙個還未被賦予物件的變數

# syntaxerror python**非法,**不能編譯(個人認為這是語法錯誤,寫錯了)

# typeerror 傳入物件型別與要求的不符合

# unboundlocalerror 試圖訪問乙個還未被設定的區域性變數,基本上是由於另有乙個同名的全域性變數,

# 導致你以為正在訪問它

# valueerror 傳入乙個呼叫者不期望的值,即使值的型別是正確的

# 為什麼需要異常處理 :

# 為了保證程式的健壯性與容錯性,即在遇到錯誤時程式不會崩潰,我們需要對異常進行處理

# 錯誤 : 語法錯誤 和邏輯錯誤

#使用if 判斷式

age=input(">>>:")

if age.isdigit():

int(age)

elif age.isspace():

print("---> 使用者輸入的空格")

elif len(age)==0:

print('--->使用者輸入的為空')

else :

print('其他非法輸入')

# if 判斷雖然可以做異常處理 但是必須為相同** 寫重複的操作 可讀性變得極其的底

#python 為每一種異常定製乙個型別,然後提供了一種特定的語法結構用來進行異常處理

# 如果錯誤發生的條件是不可預知的,則需要用到try...except:在錯誤發生之後進行處理

# #基本語法為

# try:

# 被檢測的**塊

# except 異常型別:

# try中一旦檢測到異常,就執行這個位置的邏輯

# 舉例 如下 :

try :

age = input(">>>")

int(age) # 主邏輯

num2 = input(">>:")

int(num2) # 主邏輯

except valueerror as e :

print(e)

Python 函式以及異常處理

define 定義 def 方法名字 形參 def test pass test 無引數無返回值 def test print 這是我的地盤 test 無引數有返回值 def test fond 學習python使我快樂 return fond t test print t 有引數無返回值 def ...

python異常處理 Python 異常處理

使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...

什麼是捕獲異常以及基本語法

異常是指語法上沒有錯誤,在程式執行的過程當中,由於某些原因程式出現了錯誤,不能再正常的執行了 這時我們需要使用try catch來進行異常捕獲 try和catch之間不要有 try catch 如果try中的 出現了異常,那麼異常的那一句後面即使有 也不會執行了 但是這裡存在乙個 問題,即變數的作用...