1. 程式人生 > >Python基礎---異常

Python基礎---異常

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基礎---異常