异常介绍
Python有两种错误需要辨认:语法错误和异常。
语法错误
Python的语法错误或者称之为解析错,书写代码时候可能碰到如下示例
if True ^ SyntaxError: invalid syntax
以上错误是因为书写代码的是while循环条件后面忘记写了:(冒号)
语法分析器指出了出错的一行,并且在最先找到的错误的位置标记了一个小小的^(箭头)。
异常
在Python程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。
大多数的异常都不会被程序处理,例如以下错误信息:
# 示例1:0不能做除数 10/0 ZeroDivisionError: division by zero # 示例2:变量num没做定义 print(num) NameError: name 'num' is not defined # 示例3:r访问模式的特点 open("hm.txt", "r") FileNotFoundError: [Errno 2] No such file or directory: 'hm.txt'
异常以不同的类型出现,这些类型都作为信息的一部分打印出来: 例子中的类型有 ZeroDivisionError,NameError 和 FileNotFoundError。
程序员为什么要进行捕获异常?
程序开发时,很难将所有的特殊情况都处理的面面俱到,通过捕获异常可以针对突发事件做集中的处理,从而保证程序的稳定性和健壮性。
例子:
# 语法错误 # def demo() # pass # 异常, 因为不符合python机制引起的 导致程序异常停止 open("hm.txt", "r") # 对可能会发生异常的代码 进行集中的捕获异常 从而 保证程序的稳定性和健壮性 -> 为了提高用户体验