data = int(input("请输入一个数字:"))
try:
print(data/0) #分母为0,发生异常,下一行不再执行
print("这里没有被执行!")
except ZeroDivisionError:#异常名
print("这里被执行了!")
else: #如果try中的代码没有引发异常,则会执行else:
print("未发生异常!")
finally:#不管是否发生异常finally都会被执行
print("这里肯定被执行!")
file = open("bigcat.txt", encoding="utf-8")
try:
file.write("肯定会出问题!")
except Exception:
print("这里发生了异常")
finally:
file.close()
try:
s = None
if s is None:
print("s 是空对象")
raise NameError # 如果引发NameError异常,后面的代码将不能执行
print(len(s)) # 这句不会执行,但是后面的except还是会走到
except TypeError:#??????
print("空对象没有长度")
异常名 描述
AttributeError 调用不存在的方法引发的异常
EOFError 遇到文件末尾引发的异常
ImportError 导入模块出错引发的异常
IndexError 列表越界引发的异常
IOError I/O操作引发的异常,如打开文件出错等
KeyError 使用字典中不存在的关键字引发的异常
NameError 使用不存在的变量名引发的异常
TabError 语句块缩进不正确引发的异常
ValueError 搜索列表中不存在的值引发的异常
ZeroDivisionError 除数为零引发的异常
网友评论