Python的异常处理使用try…except语句
常见异常
常见异常 | 描述 |
---|---|
Exception | 常规错误的基类 |
FloatingPointError | 浮点计算错误 |
OverflowError | 数值运算超出最大限制 |
ZeroDivisionError | 除(或取模)零 (所有数据类型) |
IOError | 输入/输出操作失败 |
OSError | 操作系统错误 |
ImportError | 导入模块/对象失败 |
IndexError | 序列中没有此索引(index) |
KeyError | 映射中没有这个键 |
NameError | 未声明/初始化对象 (没有属性) |
UnboundLocalError | 访问未初始化的本地变量 |
RuntimeError | 一般的运行时错误 |
NotImplementedError | 尚未实现的方法 |
SyntaxError | Python 语法错误 |
TypeError | 对类型无效的操作 |
ValueError | 传入无效的参数 |
Warning | 警告的基类 |
实例
- 当没有异常处理的时候报错
numstr=input("请输入一个整数:")
num=int(numstr)
print("输入的是整数,为:"+numstr)
---------------------
运行结果
请输入一个整数:3sa
Traceback (most recent call last):
File "D:/python/class_work/class01/demo4.py", line 6, in <module>
num=int(numstr)
ValueError: invalid literal for int() with base 10: '3sa'
我们可以发现上面报的错为ValueError
- 加入异常处理
numstr=input("请输入一个整数:")
try:
num=int(numstr)
print("输入的是整数,为:"+numstr)
except ValueError:
print("输入的不是整数")
---------------------
运行结果
请输入一个整数:3sa
输入的不是整数
- 多个异常捕获方式
语法:
try:
语句1
except Exception1,Exception2:
语句2