python学习笔记分享(十六)异常处理
IT Xiao Ang Zai 8月2号
现在,让我们进行继续今天的python学习:
版本:python3.64
编程软件:pycharm
异常就是程序出现的一些不致命的错误,可以使用python提供的异常处理机制,在异常出现的时候及时捕获,并处理。
一:异常类型
下面介绍一些常会遇到的一些异常:
1.AssertionError:
当assert断言条件为假的时候抛出的异常,
一般是在测试程序的时候用于在代码中置入检查点。
2.AttributeError:
当访问的对象属性不存在的时候抛出的异常。
3.IndexError:
超出对象索引的范围时抛出的异常。
4.KeyError:
在字典中查找一个不存在的key抛出的异常,建议使用get()方法。
5.NameError:
访问一个不存在的变量时抛出的异常。
6.OSError:
操作系统产生的异常,
这个不再演示。
7.SyntaxError:
语法错误时会抛出此异常。
8.TypeError:
类型错误,通常是不通类型之间的操作会出现此异常。
9.ZeroDivisionError:
进行数学运算时除数为0时会出现此异常。
二:捕获处理异常
知道程序抛出异常就说明程序有问题,但问题并不致命,所以可以通过捕获这些异常,并纠正这些错误即可。捕获异常可以用try语句来实现,有两种实现形式,一种是try-except,一种是try-finally语句。
1.try-except语句
格式如下:
try:
检测范围
except Exception[as reason]:
出现异常[Exception]后的处理代码
你也可以用多个except语句分别对感兴趣的异常进行处理或者一个except语句加上多个异常来进行统一处理。但一般不要只用一个except:语句进行,有时会与想要得到的结果大相径庭。
2.try-finally语句
该语句是用来扩展try语句块,如果try语句块中没有出现任何运行时错误,会跳过except语句块执行finally语句块的内容;如果出现异常,则会先执行except语句块的内容再执行finally语句块的内容。总之,finally语句块中的内容是必须要执行的内容。
3.else语句
else语句还可以与异常处理进行搭配,用法和循环语句一样。
三:raise语句与文件with语句
1.raise语句
该语句可以自己抛出一个异常,还可以带参数,表示异常的解释:
2.文件处理with语句
对文件操作使用with语句,将减少代码量,而且with会自动关闭文件,不用担心文件打开了忘记关闭的问题。