python异常处理

python异常处理

把有可能发生的异常放在try里面,通过except捕获异常,给出解决方案,不发生异常的语句放在else里面,异常不管是否发生,都要放在finally语句里

1.异常描述

异常描述
NameError未声明/初始化对象
INdexError序列中没有此索引
SyntaxError语法错误
KeyboardInterr用户中断执行(ctrl+c)
EOFError没有内建输入,到达EOF标记(ctrl+d)

2.try-expect语句

try:
    n = int(input('number:'))
except ValueError as mm:
    print('无效的数据:', mm)
except KeyboardInterrupt:
    print('\nbyebye')
    exit()
except EOFError:
    print('\nbyebye')
    exit()
#程序不发生异常的时候,才会执行的语句
else:
    print(n)
#不管异常是否发生,finally的语句都会执行
#finally有啥用,如果打开文件后,出现异常了,这个异常我们没有预料到,
#为了确保数据安全,我们可以在finally中关闭文件,执行关闭文件的操作
finally:
    print('Done')
    
#或者把多个except写在同一行
#except (KeyboardInterrupt, EOFError):

3.除法简化案例

  • 提示用户输入一个数字作为除数
  • 如果用户按下ctrl+c或ctrl+d则退出程序
  • 如果用户输入非数字字符,提示用户应该输入数字
try:
    n = int(input('请输入数字吧:'))
    result = 100 / n
except (ValueError, ZeroDivisionError) as e:
    print('无效的输入:', e)
except (KeyboardInterrupt,EOFError):
    print('\nByebye!')
    exit()
else:
    print(result)
finally:
    print('Done!')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河 静

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值