#异常是一个对象,表示一个错误(Python不提倡使用异常)
#运行时错误(异常):
#在运行过程中遇到的错误,导致意外退出
#例:除法运算
a,b = input().split()
try:
print("{} / {} = {:.2f}".format(a,b,float(a)/float(b)))
except ZeroDivisionError: #只写 except 表示调用所以异常
print ("除数为0,不能做除法运算")
#多异常处理(触发哪个异常就执行对应的语句)
try:
import turtle # 该语句写成import turtle时 引发异常 ModuleNotFoundError(同时停止继续执行语句
size = 0
print(sizee)# 执行该语句时 引发异常 NameError
except ModuleNotFoundError:
print("模块未定义")
except NameError:
print("变量未定义")
#Exception(捕捉异常,抛出异常信息)(常规异常的基类,可以捕获任意异常)
a,b = input().split()
try:
print("{} / {} = {:.2f}".format(a,b,float(a)/float(b)))
except Exception as e: #只写 except 表示调用所以异常
print (e)
#finally子句:(系统在抛出异常前,会执行finally中的语句)
except:
print("文件读写错误")
#但这不是处理这类问题的最好方法(Python不提倡使用异常)
#使用上下文管理器(触发异常时,会自动关闭文件)