版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
一、前言
看下面小程序:
num=eval(input("请输入一个数:"))print(num**2)
结果:
请输入一个数:24
如果我们输入的不是数会发生什么
结果:
请输入一个数:no Traceback (most recent call last): File "C:\Users\我的电脑\AppData\Local\Programs\Python\Python35-32\样本.py", line 1, innum=eval(input("请输入一个数:")) File "", line 1, inNameError: name 'no' is not defined
可以看到,Python解释器返回了异常信息,同时推出了程序。
二、异常处理
Python使用try-except语句来实现异常处理,其基本语法格式如下:
try:except:
代码如下:
try: num=eval(input("请输入一个数:"))print(num**2)except NameError:print("输入错误,请重新输入一个数")
结果:
请输入一个数:no 输入错误,请重新输入一个数
三、try-except的高级用法
(1)高级用法1
语法格式如下:
try:except:... except:except:
其中,第一到第N个except语句后面都指定了异常类型,说明这些except所包含的语句块只处理这些类型的异常。最后一个except语句没有指定任何类型,表示它对应的语句块可以处理所有其他异常。
代码如下:
try:list=["a","b","c","d","e","f"] num=eval(input("请输入一个整数作为索引:"))print(list[num])except NameError:print("输入错误,请重新输入一个整数")except:print("其他错误")
结果:
请输入一个整数作为索引:2 c 请输入一个整数作为索引:no 输入错误,请重新输入一个整数 请输入一个整数作为索