**python3中異常(錯誤)捕獲
as 關鍵字的作用:a as b 意思是將a物件重新命名為b
# raise 用於生成乙個錯誤
# raise someerror("someerror will be raised")
# 錯誤的捕獲
deffunny_division1
(anumber):
try:
# try語句用於放置任何可能引起錯誤的語句
return
100/anumber
except zerodivisionerror:
# except對捕獲的錯誤進行的處理
return
"silly wabbit, you can't divide by zero"
print(funny_division1(0))
print(funny_division1(50.0))
print(funny_division1("hello"))
# 通過疊加except語句,捕獲不同的異常進行不同的處理
deffunny_division3
(anumber):
try:
if anumber == 13:
raise valueerror("13 is an unluckly number")
return
100/anumber
except zerodivisionerror:
return
"enter a number other than zero"
except typeerror:
return
"enter a numerial value"
except valueerror:
print("no, no, not 13")
raise valueerror
funny_division3(13)
funny_division3(0)
funny_division3("hello")
# 如果要對可能發生的幾個不同的異常進行相同的處理
# 可以在except後新增括號,並在括號裡面寫入可能引發的異常
deffunny_division2
(anumber):
try:
if anumber == 13:
raise valueerror("13 is an unluckly number")
return
100/anumber
except (zerodivisionerror, typeerror):
return
"enter a number other than zero"
for val in (0, "hello", 50.0, 13):
print("testing {}:".format(val), end=" ")
print(funny_division2(val))
# 錯誤的args引數是錯誤的引數
deftext
(num):
try:
ifnot isinstance(num, str):
raise typeerror("型別錯了")
except typeerror as e:
print(e.args)
text(1)
# 下面兩個關鍵字是在錯誤捕獲中,else關鍵字只有沒有錯誤發生時才會執行
# finally關鍵字一定在最後會執行的呀,即使在某個語句中有return關鍵字返回
# finally關鍵字內容仍然會執行
import random
some_exceptions = [valueerror, typeerror, indexerror, none]
try:
choice = random.choice(some_exceptions)
if choice:
raise choice("an error")
except valueerror:
print("caught a valueerror")
except typeerror:
print("caught a typeerror")
except exception as e:
print("caught some other error %s" % (e.__class__.__name__))
else:
print("this code called if there is no exception")
finally:
print("this cleanup code is always called")
物件導向 錯誤與異常
對於.net類一般的異常類system.exception派生自system.object,通常不在 中丟擲system.exception泛型物件,因為他們無法確定錯誤情況的本質。在該層次結構中有兩個重要的類,他們派生自system.exception。system.systemexception...
python 面型物件(2) 錯誤異常
private attrs 兩個下劃線開頭,宣告該屬性為私有,不能在類地外部被使用或直接訪問。在類內部的方法中使用時 self.private attrs。在類地內部,使用 def 關鍵字來定義乙個方法,與一般函式定義不同,類方法必須包含引數 self,且為第乙個引數,self 代表的是類的例項。s...
git 錯誤異常
錯誤1 2017年5月份左右全球爆發位元幣勒索病毒 通過445檔案共享埠 周一到公司,發現git不能用了,原來是公司it在週末緊急做了公升級,導致git 和gitlab報了以下錯誤。解決辦法 ssh keygen r xx xx為上圖紅色框裡面的內容 錯誤2 unable to create e s...