Python基础---异常

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)

猜你喜欢

转载自www.cnblogs.com/RanWhoo/p/9457033.html
今日推荐