关于python中的异常处理语句及其案例

异常处理之try…except

为了不让一些无关痛痒的小错影响程序的后续执行,Python给我们提供了一种异常处理的机制,可以在异常出现时即时捕获,然后内部消化掉,让程序继续运行。
这就是try…except…语句,具体用法如下:
关于python中的异常处理语句及其案例_第1张图片

让我们举个例子。刚才的报错,可以查到报错类型是“ValueError”:
关于python中的异常处理语句及其案例_第2张图片

while True:
    try:
        age = int(input('你今年几岁了?'))
        break
    except ValueError:
        print('你输入的不是数字!')

if age < 18:
    print('不可以喝酒噢')
---------------------------------------
你今年几岁了?202.0
你输入的不是数字!
你今年几岁了?1230.055
你输入的不是数字!
你今年几岁了?12
不可以喝酒噢

代码要点有两个:(1)因为不知道用户什么时候才会输入正确,所以设置while循环来接受输入,只要用户输入不是数字就会一直循环,输入了数字就break跳出循环。(2)使用try……except……语句,当用户输错的时候会给予提示。

我们再来看一个例子,下列代码的目的是遍历列表中的数字,依次用6除以他们。

num = [1,2,0,3]
for x in num:
    try:
    #尝试执行下列代码
        print (6/x)
        #使用6除以num中的元素,并打印
    except :
    #除非发生ZeroDivisionError报错,执行下列代码:
        print('0是不能做除数的!')
        #打印“0是不能做除数的!”
------------------------------------
6.0
3.0
0是不能做除数的!
2.0

当有多种错误时,可以都列出来,也可以放到括号里,还有一种不知道会有什么错误时的模糊方法

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

你可能感兴趣的:(python,python)