#Python异常
'''
异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。一般
情况下,在Python无法正常处理程序时就会发生一个异常。异常时Python对象,表示
一个错误。当Python脚本发生异常时,我们需要捕获它,否则程序会终止执行。
'''
#常见异常类型
'''
异常名称 描述
FileNotFoundError 找不到指定文件的异常
NameError 未声明/初始化对象(没有属性)
BaseException 所有异常的基类
'''
#异常处理的语句
'''
try...except
try...except...finally
raise
'''
##1.try...except 尝试排除
'''
①FileNotFoundError 文件找不到的异常
try: 尝试
fileName=input("Please input filename") 文件名字=输出:请输入文件名字
open("%s.txt" %fileName) 打开文件名
except FileNotFoundError: 排除文件找不到的异常
print("%s file not found"%filename) 输出:%s 文件找不到文件名
'''
#NameError 未初始化或者未定义
'''
try:
print(stu)
except NameError:
print("stu not defind!")
'''
#BaseException #所有错误的基类(就是没有细分错误信息)
'''
try:
print(stu)
except BaseException:
print("stu not defined!") #stu为未定义
'''
#try...except...as
'''
try:
print(stu)
except BaseException as msg: #输出打印系统弹出的错误信息
print(msg) except BaseException as 用法输出消息给msg
'''
#try except...else
'''
try:
stu='mary'
print(stu)
except BaseException as msg:
print(msg)
else:
print("没有错误打印的是这一行")
'''
#try...except...finally
'''
try:
stu='mary'
print(stu)
except BaseException as msg:
print(msg)
finally:
print("有没有错误都会打印的是这一行")
'''
#raise 抛出异常 raise会事先定义一个红线,一旦超出红线就会抛出异常
'''
def division(x,y): #除法函数
if y==0:
raise zeroDivisionError("Zero is not allow")
return x/y
try:
devision(8,0)
except BaseExcept as msg: #except捕捉
print(msg)
注意:raise只能用于Python标准异常类
'''