-
语法错误(大小写拼写错误、括号不匹配等...)=> 不能正常执行
-
逻辑错误(程序运行正常,只是最后结果不符合预期)
-
程序运行过程中,出现的意料之外的错误
-
如:打开的文件不存在、被除数为0、操作的数据类型不对、存储错误,互联网请求错误
-
当程序运行时,发生了未处理的异常,Python就将终止执行程序,并以堆栈回溯(Traceback,也称向后追踪)的形式显示异常发生的上下文。
-
回溯信息告诉我们应该去哪里寻找问题的根源,对解决问题非常有帮助。
常见异常类
#断言异常(常用于测试) a = 4 b = 3 assert a 父类异常和子类异常Exception 是FileNotFoundError 的父类
异常处理在代码被解释执行的过程中可能会抛出异常。
那么也就是说,可能会发生,可能不会发生。对于这么不可预测的异常状态如何处理?
1:即使程序出错,也不想让程序终止
2:如果出错了,需要特殊处理
异常处理机制 try...except...try: 执行代码 except 异常类型 as 接收异常详情的变量: #捕获到了异常类型才执行 处理的内容 try: print("打开文件aa") fp = open("aa") except: print("文件未找到") print("end....") 输出: 打开文件 文件未找到 ending.... 即使return了,finally也会执行手动触发异常(raise 异常名)
• raise 异常类(”错误说明信息“)
raise --默认就抛出RuntimeError
raise 异常类
简单的异常处理的格式执行顺序:
-
正常执行: try -> 执行代码 -> 结束
-
遇到异常: try -> 遇到异常 -> 跳到excep -> 结束



