异常,抛出异常,终止程序
错误类型:NameError, TypeError, SyntaxError ,AttributeError属性错误—都继承Exception, exception继承baseexception
异常----是一个类
#异常捕获,
try: #可能出现错误
print('a') #功能程序
print(a)
print('a'+i)
print('678') #不会执行,发现错误直接捕获,不会终止整个程序/报错
# except Exception as e: #e是异常的记录,全都都显示同一个打印
# print(e)
except NameError as e:
print('服务器奔了')
# raise e #抛出错误,异常捕获很少使用,了解
except TypeError as e:
print('拼命奔跑中')
else: #没有异常的时候执行
print('成功进入网页')
# finally: #不管有没有错误都会执行,比较少用
# print('finally')
print('678') #继续执行
用途:比如“服务器在更新中,稍后重试”,不会显示“XXX代码错误”
- 断言
a = 5
assert isinstance(a,str),‘现在字符串还是int’ #备注是什么原因
#操作1
try:
print('a')
print(a)
print('a'+i)
print('678')
except NameError as e:
print('服务器奔了')
print('NameError:',e)
except TypeError as e:
print('拼命奔跑中')
print('TypeError:',e)
else:
print('成功进入网页')
#操作2
try:
b = open('b.py', 'r+')
b.write('abc')
finally:
b.close()