python之异常处理详解

有时候,当我们写了一段代码,总是会出各种各样的错误。在项目中也是如此,所以会有异常处理。

异常处理就是:

我们写了一段代码,他可能会出错(溢出、访问为空等等),为了当错误出现时,不让程序立刻崩溃,而是进入别的候选界面时候(比如是否重新输入),这就是异常处理。

异常处理的语法特别简单:

try:
    '正常代码'
except '错误方式' as e: #e是自己取的事件名字
    '发生错误执行的代码'
else:
    '正常就继续执行的代码,可有可无'
finally:
    '不管有没有出错,都要执行的代码'

比如下面一个例子,列表访问超出范围:

name = [12,2,42]
try:
    name[8] = 1
except IndexError as e:
    print('列表操作错误')

就会提示,列表操作错误,于是会跳过这段代码继续执行下面的代码。IndexError错误指的是列表访问出错(要么访问超出,要么列表为空)。

-------------------------分割线--------------------------

当你不知道代码会出多少种错误的话,可以这样写,把错误依次写下去:

data = {}
name = [12,2,42]
try:
    data['name']
    name[8] = 1
except KeyError as e:
    print('没有这个key',e)
except IndexError as e:
    print('列表操作错误')

当然也可以把错误写在一起,但不推荐:

data = {}
name = [12,2,42]
try:
    data['name']
    name[8] = 1
except (KeyError,IndexError) as e:
    print('不推荐使用,因为两种错误只能采用一种处理方法,而通常要对应不同的处理方法')

---------------------------分割线-----------------------------

最后是错误种类,所有错误的父类是Exception(无法判断具体是什么错误),当你吧所有你能想到会发生的错误写完之后,你最后再加上这一句,就完美了:(很多时候电脑运行也会发生未知错误)

data = {}
name = [12,2,42]
try:
    data['name']
    name[8] = 1
'''这里是你能想到的所有错误一一列出来'''
'''最后加上下面这句“未知错误”'''
except Exception as e:
    print('未知错误')    #所有错误都可以抓住,但没什么用

然后是一些常用的错误类:

最常见的可能是IndexError,KeyError(键错误),ValueError(值错误)。还有很多错误具体如下网址:

python之常见异常种类和汇总

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值