python-异常处理

一、若程序中有错误,整个程序将会终止。故用try...excep...捕获异常,不会中断程序

二、作用:

1、尽量让程序正常运行;2、尽早发现问题

三、执行顺序:

1、先执行try子句,当try中的语句正常执行,不会有捕获。except里的语句也不执行。

2、若try中的语句异常,则捕获,剩余下的try子句不再执行,except里的语句执行,except后的语句也执行

try:
    print('111111')
    a = float(input('请输入:'))
    print('222222')
except:
    print('333333')
print('444444')

若没有异常,222222仍会执行,333333不会执行(111111、444444不受影响)执行结果如下

 若有异常,222222不会执行,333333会执行(111111、444444不受影响)执行结果如下:

四、常见的异常类型:

1、NameError:变量没定义

2、ValueError:值转换异常,值错误,如:str->float

3、IndexError:索引越界

4、KeyError:键值不存在

5、SyntaxError:语法错误

6、TypeError:类型错误

7、ZeroDivisionError:0不能做除数

注:Exception 万能警察,可捕获所有类型,except后面不写,默认是万能警察,但一般不用

五、格式:

1、try...except...

try:

  可能会出现异常的代码

except 异常类型:

  出现异常时,你会执行的操作

try:
    1/0
except ZeroDivisionError as e:
    print('0不能做除数!',e)

执行结果如下:

一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。一个except子句可以同时处理多个异常,用逗号隔开(元组形式)

最后一个except子句可以忽略异常的名称(可不写异常类型),它将被当作通配符使用。可以使用这种方法打印一个错误信息,然后再次把异常抛出。

2、try...except...else...

try:

  可能会出现异常的代码

except 异常类型:

  出现异常时,你会执行的操作

else:

   没有异常时执行的操作

3、try...except...else...finall...(finall表示不管有没有异常都执行的代码)

try:

  可能会出现异常的代码

except 异常类型:

  出现异常时,你会执行的操作

else:

   没有异常时执行的操作

finall:

  不管有没有异常都会执行的操作

六、抛出异常raise:

格式:raise 异常类型(异常类型提示信息)

raise主动抛出异常,后面的语句不再执行,终止函数运行,return返回也终止。

def add():
    a = input('请输入一个数值:')
    if isinstance(a,str):
        raise ValueError('不能输入非数字!')
    a += 1
    return a
print(add())

 执行结果如下:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值