结构:
try:
可能出现异常的代码
except [想要处理的异常] as x:
as x是将捕获的异常作为一个对象看待
当出现这个异常时,处理的方法
else:
当try正常执行完,else中的代码才会执行
finally:
无论什么情况都会执行,比return的权限还大
异常处理的位置
- 在本方法内捕获
- 在父级及以上捕获
def run():
...
if __name__ == "__main__":
try:
run()
except:
pass
自定义异常:
class ABException(Exception):
# 这里接收的是要程序报错时,需要提示的信息
def __init__(self,value):
self.value=value
a=5
b=3
try:
if a!=b:
raise ABException("a和b不相等")
except ABException as ab:
print(ab)
断言:
'''
断言:判断一个表达式,如果值为True,则没事
如果值为False ,则系统报错,错误类型为AssertionError,程序中止
错误提示信息为逗号后定义的字符串
'''
a=5
b=3
assert a==b,"error:a与b不相等"