异常
1、 什么是异常
程序没有像预期一样的执行
计划:今天早睡,明天早起,去食堂吃个美好的早餐;但是第二天食堂今天不营业,异常:计划被打乱了,没发好好进行了。
2、语法
n = input("请输入一个数值:")
try:
n = int(n) ##如果n 不是数值,不能转
m = 100 / n #分母不能为0
print(m)
except ValueError:
print("ValueError 值错误")
except ZeroDivisionError:
print("ZeroDivisionError 分母为0 ")
except Exception as resut:
print("未知错误:%s"%resut)
else:
print("尝试成功执行这里,OK")
finally: #最后,绝
print("不管异常 是否 发生,这里一定运行")
3、异常的处理
面对异常,我们怎么就解决异常
直接解决: 直接内部解决;去超市买早餐
往上抛出异常:自己不处理,让调用者处理;打电话告诉老师,食堂没开,怎么办??
def input_id():
#(1)请输入学号
id = input("请输入学号:")
#假设ID 为5的已经存在了
if id == "5" :
e = Exception("ID学号已经存在") #创建一个异常对象(存储了异常信息)
raise e ##抛出异常
else:
return id
id = ""
try:
id = input_id()
except Exception as e :
print("ID有问题:%s"%e)
id = input_id()
print("ID的值:%s"%id)