python的学习之路(八)——错误与异常

错误:在运行前发现

异常:在运行时报出

常见的异常类型

NameError尝试访问一个未命名的变量
ZeroDivisionError除数为0
IndexError索引超出范围
KeyError请求一个不存在的字典变量
IOError输入输出错误
AttributeError访问未知对象属性
ValueError数值错误
TypeError类型错误
AssertionError断言错误
IndentationError格式错误(可能没有缩进)

 

“Exception”已经包含了大部分的错误类型,是其他错误的父类,可以通过它来捕捉常见的异常。

异常捕获:

为什么要进行异常捕获处理:

  • 不能将代码报错直接呈现给用户,而要通过异常处理的方式
  • 如果有异常,后面的代码都会挂起不会执行

(1)try....except

try:

      要执行的语句

except:

     如果异常类型与异常关键字相匹配,执行下面的语句

     异常处理语句

 try:
     1 / 0
 except ZeroDivisionError:
     print("ZeroDivisionError")

(2))try....多个except语句

try:
    data = [1, 2, 3]
    data[5]
except ZeroDivisionError:
    print("ZeroDivisionError")
except IndexError:
    print("IndexError")
except IndexError:
    print("IndexError")

(3)try...except ..... as e

try:

      要执行的语句

except  错误类型 as e:

     异常处理语句

as + 关键字 以用来对错误数据的处理

try:
    data = [1, 2, 3]
    data[5]
except IndexError as e:
    print(e, data[1])
list index out of range 2

(4)try...except...finally

无论是否捕捉到异常都会执行最后的命令,达到收尾的作用


try:
    data = [1, 2, 3]
    data[5]
except IndexError as e:
    print(e, data[1])
finally:
    print("错误处理完毕")
list index out of range 2
错误处理完毕

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值