1. 什么是异常
- 代码运行出错会导致出现异常 异常发生后如果没有解决方案则会彻底结束整个程序
2. 异常的三个重要组成部分
1.traceback
翻到最下面从下往上的第一个蓝色字体鼠标左键点击即可跳转到错误的代码所在的行
2.XXXError
错误的类型
3.错误类型冒号后面的内容
错误的详细原因(很重要 仔细看完之后可能就会找到解决的方法)
3. 错误的种类
-
语法错误:这种错误是不被允许的,出现了就得立即修改
-
逻辑错误:可以被允许,但出现了之后应尽快修改
修改逻辑错误的过程其实就是从头到尾清理思路
4 . 异常处理的语法结构
"""
基本语法结构
try:
有可能会出错的代码
except 错误类型 as e:
出错之后对应的处理机制(e是错误的详细信息)
except 错误类型 as e:
出错之后对应的处理机制(e是错误的详细信息)
except 错误类型 as e:
出错之后对应的处理机制(e是错误的详细信息)
"""
try:
int('abc')
except NameError as e:
print('变量名不存在',e)
except ValueError:
print('值需要是纯数字')
# 万能异常
try:
print(name)
except Exception:
print('怎么错都可以')
"""
异常捕获句式和万能异常
1.有可能会出现错误的代码才需要被监测
2.被监测的代码一定要越少越好
3.异常捕获使用频率越低越好
"""
# 断言(了解)
name = 'jason'
assert isinstance(name,str)
# 主动报异常
raise 错误类型
自定义异常:(必须继承BaseException)
class MyException(BaseException):
def __init__(self, msg):
self.msg = msg
def __str__(self):
return self.msg
raise MyException('我出现异常了')