学习笔记-Python基础11-异常
一、异常
广义上的错误分为错误和异常
错误指的是可以认为避免
异常指的是在语法、逻辑正确的前提下,出现的问题
在python里,异常是一个类,可以处理和使用
所有的异常都是从一个总异常,也就是他们的父类Exception继承下来的
异常的常见分类:
1、FloatingPointError 浮点计算错误
2、IndexError 索引超出序列的范围
3、KeyError 字典中查找一个不存在的关键字
4、KeyboardInterrupt 用户输入中断键(Ctrl+c)
5、NameError 尝试访问一个不存在的变量
6、SyntaxError Python的语法错误
7、TypeError 不同类型间的无效操作
8、ValueError 传入无效的参数
9、ZeroDivisionError 除数为零
10、AttributerError 尝试访问未知的对象属性
异常处理:
不能保证程序永远正确运行,但是必须保证程序在最坏的情况下得到的问题被妥善处理
python的异常处理模块全部语法:
1、try:
尝试实现某个操作
如果没有出现异常,任务可以完成
如果出现异常,将异常从当前代码块人出去尝试解决异常
except 异常类型1:
解决方案1:用于尝试在此处处理预计会得到的一种异常,从而解决问题
except (异常类型2、3...)
解决方案:针对多个异常使用相同的处理方式
except:
解决方案:所有异常的解决方案
else:
如果没有出现任何异常,将会执行此处代码
finally:
不管有没有异常,都要执行此处代码
上面语句的流程:
1、先执行try下的语句
2、如果出现异常,则在except语句里查找对应异常并进行处理
3、如果没有出现异常,则执行else语句内容
4、最后,不管是否出现异常,都要执行finally语句
特别注意:除except(最少一个)以外,else和finally都是可选的
2、用户手动引发的异常
当某些情况,用户希望自己引发一个异常的时候,可以使用
raise 关键字来引发异常
特别注意:只要是raise异常,则推荐自定义异常,在自定义异常的时候,一般包含以下内容:
1、自定义发生异常的异常代码
2、自定义发生异常的问题提示
3、自定义发生异常的行数
最终目的是:一旦发生异常,方便程序猿快速定位错位现场