python学习记录9--给自己:try……except……程序出现异常该如何处理

本文介绍了Python编程中遇到的异常处理问题,强调了try...except...语句在处理程序错误时的重要性。通过实例展示了ValueError、ZeroDivisionError和TypeError等常见错误,并提供了错误类型的相关参考链接。

我们在编写程序的过程中偶尔会因为粗心大意忽略掉一些细节问题导致运行出现错误。比如,程序的逻辑问题并没有出错,而是在用户运行的时候,输入了编程时没有考虑到的情况导致计算机不能对用户所输入的东西进行识别,出现报错。下来我们来介绍一下在python语言中遇到的程序异常问题,通常会如何解决?

详细报错类型可参考:https://www.runoob.com/python/python-exceptions.html

详细解决方法可参考:https://www.jb51.net/article/136124.htm

 

  • 为了不让一些无关痛痒的小错影响程序的后续执行,Python给我们提供了一种异常处理的机制,可以在异常出现时即时捕获,然后内部消化掉,让程序继续运行。那就是 try……except……语句(在这里我只提到了三种错误举个例子)
try:
#尝试执行下列代码
    ……
    ……
    #代码要缩进
except ***:
#除非发生报错,***是报错类型。一旦报错就执行下列代码:
    ……
    ……
    #报错时,执行代码要缩进

我们通常会遇到哪些报错类型呢?

  1. ValueError:出现在程序本意让用户输入整数,而实际输入了字符串,导致报错
try:
    age = int(input('请输入一个整数:'))
except ValueError:
    print('要输入整数噢')

2.ZeroDivisionError报错:表示除数不能为0,为0会出错

num = [1,2,0,3]
for x in num:
    try:
        print (6/x)
    except ZeroDivisionError:
        pass

3.TypeError:参数类型出错

num = [1,2,0,3,1.5,'6']
for x in num:
    try:  # 尝试执行下列代码
        print (6/x)
    except ZeroDivisionError:
        print('0是不能做除数的!')
    except TypeError:  # 当报错信息为TypeError,执行下面的语句。
        print('被除数必须是整值或浮点数!')

# 当你运行两次代码后,你就知道:try下面可以包含多个except,针对不同的报错,类似多个 elif。

try……except……还可以这样写:

#方式2:将两个(或多个)异常放在一起,只要触发其中一个,就执行所包含的代码。
except(ZeroDivisionError,ValueError):
    print('你的输入有误,请重新输入!')
    
#方式3:常规错误的基类,假设不想提供很精细的提示,可以用这个语句响应常规错误。
except Exception:
    print('你的输入有误,请重新输入!')

如有问题还会继续补充(゜▽゜*)♪

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值