class Dog(object):
def __init__(self,name):
self.name=name
def eat(self,food):
print("%s eat the milk and pick!%s eat %s"%(self.name,self.name,food))
d=Dog("ALEX")
# choise=input(">>:").strip()
# getattr(d,choise)
data={}
name=[1,2]
方法1
try:
name[3]
data['name']
except KeyError as e: #得到錯誤返回值給e
print("沒有這個key",e)
except IndexError as e: #得到錯誤返回值給e
print('列表錯誤')
##方法2
try:
name[3]
data['name']
except (KeyError,IndexError ) as e: #得到錯誤返回值給e
print("沒有這個key",e)
##方法3(不建議用)
try:
open("eor.txt")
except Exception as e: #基本能匹配所有的錯(不建議用)
print(" 出錯了",e)
Exception運用方法4
try:
#name[3]
#data['name']
pass
except (KeyError,IndexError ) as e: #得到錯誤返回值給e
print("沒有這個key",e)
except Exception as e: #(通常匹配所有錯誤放在最後,匹配未知錯誤)
print("未知錯誤",e)
else: #一切正常就執行
print("一切正常!")
finally:#不管有沒有錯都執行
print("不管有沒有錯都執行")
自定義異常
class hyException(Exception):
def __init__(self,msg):
self.message=msg
def __str__(self): #返回對象的值(對象是self.message)
return self.message
try:
raise hyException("我的異常") #raise主動觸發異常
except hyException as e:
print(e)