python 错误和异常处理
【程序的错误】
程序错误有三种,分别是:语法错误,逻辑错误,运行时错误。
1、语法错误是指源代码中的拼写语法错误 导致python不能把源代码转换成字节码,也称编译错误。此时编译器就会显示SyntaxError错误信息。
2、逻辑错误是程序可以执行(程序本身不报错),但执行的结果不正确。
3、运行错误是在解释执行过程中发生的错误。如没有导入相关的模块,试图打开不存在的文件,程序中包含除零运算等。
【异常处理】
【内置异常类】
1、常见异常示例:
(1)NameError 尝试访问一个未声明的变量;
(2)SyntaxError 语法错误;
(3)AttributeError 访问未知对象属性
(4)TypeError 类型错误
(5)ValueError 数值错误
(6)ZeroDivisionError 除零错误
(7)IndexError 索引超出范围
(8)KeyError 字典关键字不存在
【引发异常】
大部分由程序错误产生的错误和异常一般由python虚拟机自动抛出。另外,在程序中如果判断某种错误情况,可以创建相应的异常类对象,并通过raise语句抛出。
【断言处理】
在程序调试阶段,往往需要判断代码执行过程中变量的值等信息,例如是否为空,数值是否为零等。用户可以使用print()函数来打印输出结果,也可通过断点来跟踪调试变量,但使用断言更加灵活高效。
断言一般用于以下情况;
1、前置条件断言:代码执行之前必须具备的特征;
2、后置条件断言:代码执行之后必须具备的特征;
3、前后不变断言:代码执行前后不能改变的特性。
断言一般用于开发调试阶段。
【assert语句和AssertionError类】
使用关键字assert可以声明断言。有以下两种形式:
1、aasert<布尔表达式> #简单形式
2、assert<布尔表达式>,<字符串表达式> #带参数的形式