异常种类 --day27
异常处理
"""
什么是异常
指的是 与正常情况不同
在程序中 程序的正常执行过程 按照代码顺序 一行一行很执行 知道所有代码都执行完
如果在执行过程中 出现了错误 导致代码无法执行完毕 就称之为异常
即 异常其实就是代码执行过程中出错了
常见的异常类型
当异常发生时 解释器 会打印异常详细信息 并且终止程序的执行
如何排查排查错误
1.定位到错误发生的位置
查看追踪信息
1.如果你的代码都是自己写的 没有调用任何内置模块或方法 那么错误发生位置一定在最后一行
2.如果你的代码调用其他模块的方法
1.是系统内置的模块 例如抛出位置object.py 不用去查看object类 它几乎不可能出错
一定是你自己代码在调用时出了错误
2.别人写的模块是有可能出错的 所以 你可以按照追踪信息点击去看看
绝招:如果有很多追踪信息 找最后一行是你自己写代码的位置
2.查看异常类型 例如:IndexError
3.查看异常的值 例如: list index out of range
如果没有任何异常信息 但是程序就是不对 可以使用
排除法
异常的三个组成部分
追踪信息
异常类型
异常的值
异常一旦发生就会导致程序终止 这对于用户而言体验极差 所以我们需要有一种机制
能够防止程序因为异常而终止
"""
# SyntaxError: invalid syntax 语法错误
# NameError: name 'age' is not defined 名字不存在
# FileNotFoundError: [Errno 2] No such file or directory: 'asasasas' 路径错误
#ValueError: I/O operation on closed file. 文件已经关闭 你还要去读写
# io.UnsupportedOperation: not writable 不能写入数据 读写模式错误导致
# ValueError: invalid literal for int() with base 10: 'abc' 数据的值错误导致
# IndentationError: unexpected indent 缩进错误
# IndexError: list index out of range 索引不存在
# KeyError: 'name' key不存在