Python基礎---異常
阿新 • • 發佈:2018-08-10
with error: 即使 接收 依賴 input 包含 remember divide
1.try-except代碼塊
try:
print(5/0)
except ZeroDivisionError:
print("you can‘t divide by zero!")
異常是使用try-except代碼塊處理的。try-except代碼塊讓Python執行指定的操作,同時告訴Python發生異常是怎麽辦。使用try-except代碼塊時,即使出現異常,程序也能繼續運行。
2.else代碼塊
print("please give me two numbers")
print("I‘ll divide them")
while True:
a=input("please input a number:")
if a == ‘q‘:
break
b=input("please input another number:")
try:
answer=int(a)/int(b)
except ZeroDivisionError:
print("b 不能為0")
else:
print(answer)
我們讓Python嘗試執行try代碼塊中的除法運算,這個代碼塊只包含可能導致錯誤的代碼。依賴於try代碼塊成功執行的代碼都放在else代碼塊中:在這個事例中,如果除法運算成功,我們就使用else代碼塊來打印結果。
3.如果在程序異常時不做任何提示,可使用pass語句。
try:
print(5/0)
except ZeroDivisionError:
pass
4.存儲數據
def greet_user():
file_name=‘greet.json‘
try:
with open(file_name) as file_object:
username=json.load(file_object)
except FileNotFoundError:
username=input("please input you name:")
with open(file_name,‘w‘) as file_object:
json.dump(username,file_object)
print("we‘ll remember you when you come back,"+username+"!")
else:
print("welcome back!"+username)
greet_user()
函數json.dump()接收兩個實參:要存儲的數據以及可用於存儲數據的文件對象。
json.dump(username,file_object)
函數json.load()加載存儲在file_object中的信息。
username=json.load(file_object)
Python基礎---異常