python 异常处理

一 .异常的认知

1.简单地说,异常是指程序运行时引发的错误,引发错误的原因有很多,例如除零、下标越界、文件不存在、网络异常、类型错误、名字错误、字典键错误、磁盘空间不足,等等。
2.如果这些错误得不到正确的处理将会导致程序终止运行,而合理地使用异常处理结果可以使得程序更加健壮,具有更强的容错性,不会因为用户不小心的错误输入或其他运行时原因而造成程序终止。
3.也可以使用异常处理结构为用户提供更加友好的提示。
4.程序出现异常或错误之后是否能够调试程序并快速定位和解决存在的问题也是程序员综合水平和能力的重要体现方式之一。

二. 异常处理的作用

提高程序的健壮性和容错性
把晦涩难懂的错误提示转换为友好提示显示给最终用户

在这里插入图片描述

while True:
   //这里必须输入整数
    x = input('Please input:')
    try:
        x = int(x)
        print('You have input {0}'.format(x))
        break
    except Exception as e:
        print('Error.')

如果try范围内捕获了异常,就执行except块;如果try范围内没有捕获异常,就执行else块

a_list = ['China', 'America', 'England', 'France']
while True:
    n = input('请输入字符串的序号')
    try:
        n = int(n)
        print(a_list[n])
    except IndexError:
      print('列表元素的下标越界,请重新输入字符串的序号')
    else:
        break

查看多个文本文件分别有多少行

for arg in sys.argv[1:]:
    try:
        f = open(arg, 'r')
    except IOError:
        print('cannot open', arg)
    else:
        print(arg, 'has', len(f.readlines()), 'lines')
        f.close()

带有多个except的try结构

try:
    x=input('请输入被除数: ')
    y=input('请输入除数: ')
    z=float(x) / float(y)
except ZeroDivisionError:
    print('除数不能为零')
except TypeError:
    print('被除数和除数应为数值类型')
except NameError:
    print('变量不存在')
else:
    print(x, '/', y, '=', z)

import sys
try:
    f = open('myfile.txt')
    s = f.readline()
    i = int(s.strip())
    f.close()
except (OSError, ValueError,RuntimeError, NameError):
    pass

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值