一、错误与异常
1、错误的认识
语法错误
如:
for i in range(10)
print(i)
会报错,修改为:
for i in range(10):
2、异常的错误
错误和异常的区别一般在于前者是语法的错误,后者是不合法的输入造成的异常,比如我们并不存在这个变量,但是仍然打印输出,这个时候就会产生异常,还有就是打印输出 10/0的时候也会报错,因为分母不能为0,也会产生异常
(1) NameError 异常
print(a)
(2) ZeroDivisionError异常
print(10/0)
NameError
ZeroDivisionError
FlatingPointError
AttributeError
IOError
OSError
ImportError
KeyError
UnboundLocalError
二、异常的处理
1、代码检查处理
(1)异常代码
print(a)
(2)修改的代码
a=10
print(a)
2、try...except 语句
结构:
try:
代码
except 异常的名称
异常处理的代码体
try:
print(10/0)
except ZeroDivisionError:
print("分母不能为0")
3、try...except...else 语句
try:
可能出现异常的代码
except 异常的名称
异常处理的结果
else:
try 里面的代码没有出现异常,则执行里面的代码
4、try...except...finally 语句
ry:
可能出现异常的代码
except 异常的名称
异常处理的结果
finally:
代码块
# finally 表示不管是否异常,finally里面的代码都执行
5、自定义异常
在抛出异常的时候剋跑出自己定义的异常。只需要创建一个类继承父类:Exception即可,同时实例化一个对象并且传一个异常信息参数。
class MyError(Exception):
pass
try:
print(a)
except:
raise MyError("此变量没有定义")